posts - 6,  comments - 0,  views - 3561

1:查询索引碎片

1
2
3
4
5
6
7
8
9
10
11
SELECT OBJECT_NAME(ips.object_id) AS TableName,
       ips.index_id,
       name AS IndexName,
       avg_fragmentation_in_percent,
       DB_NAME(ips.database_id) AS DatabaseName
FROM sys.dm_db_index_physical_stats(DB_ID(DB_NAME()), NULL, NULL, NULL, NULL) AS ips
    INNER JOIN sys.indexes AS si
        ON si.object_id = ips.object_id
           AND si.index_id = ips.index_id
WHERE ips.avg_fragmentation_in_percent > 0
      AND si.index_id <> 0;

  
avg_fragmentation_in_percent是索引碎片率,低于5%可以不考虑。5%-30%建议reorganize,超过30%建议rebuild

2:reorganize

alter index [index_name] on dbo.[表名] reorganize;

3:rebuild

alter index [index_name] on dbo.[表名] rebuild;

4:rebuild all 重建表上所有索引

alter index all on dbo.[表名] rebuild;

1
<em id="__mceDel"><br><br></em>
posted on   misA丶  阅读(766)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示