1:查询索引碎片
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;
浙公网安备 33010602011771号