经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库运维 » MS SQL Server » 查看文章
SQL SERVER 查询与整理索引碎片
来源:cnblogs  作者:小狮儿  时间:2018/10/15 9:16:22  对本文有异议

重建索引

  1. 1 use DATABASE_NAME;
  2. 2
  3. 3 DECLARE @TableName VARCHAR(255)
  4. 4 DECLARE @sql NVARCHAR(500)
  5. 5 DECLARE @fillfactor INT
  6. 6 SET @fillfactor = 80
  7. 7 DECLARE TableCursor CURSOR FOR
  8. 8 SELECT OBJECT_SCHEMA_NAME([object_id])+'.['+name+']' AS TableName
  9. 9 FROM sys.tables w
  10. 10 OPEN TableCursor
  11. 11 FETCH NEXT FROM TableCursor INTO @TableName
  12. 12 WHILE @@FETCH_STATUS = 0
  13. 13 BEGIN
  14. 14 SET @sql = 'ALTER INDEX ALL ON ' + @TableName + ' REBUILD WITH (ONLINE=off,FILLFACTOR=80);' --' REBUILD WITH (FILLFACTOR = ' + CONVERT(VARCHAR(3),@fillfactor) + ')'
  15. 15 exec (@sql)
  16. 16 FETCH NEXT FROM TableCursor INTO @TableName
  17. 17 END
  18. 18 CLOSE TableCursor
  19. 19 DEALLOCATE TableCursor
  20. 20 GO

 查询索引碎片

  1. use DATABASE_NAME;
  2. SELECT dbschemas.[name] as 'Schema',
  3. dbtables.[name] as 'Table',
  4. dbindexes.[name] as 'Index',
  5. indexstats.alloc_unit_type_desc,
  6. indexstats.avg_fragmentation_in_percent,
  7. indexstats.page_count
  8. FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats
  9. INNER JOIN sys.tables dbtables on dbtables.[object_id] = indexstats.[object_id]
  10. INNER JOIN sys.schemas dbschemas on dbtables.[schema_id] = dbschemas.[schema_id]
  11. INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id]
  12. AND indexstats.index_id = dbindexes.index_id
  13. WHERE indexstats.database_id = DB_ID() and dbindexes.[name] not like 'pk_%'
  14. ORDER BY indexstats.avg_fragmentation_in_percent * page_count desc

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号