本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
重建索引
为了使查询优化器生成最佳查询计划并使用正确的索引,索引不应分段。根据更新、插入或删除速率,索引会随着时间的推移而变得分散。确保定期对表进行重新索引。重建频率取决于数据库处理数据操纵语言 (DML) 操作的速率。
一个好的起点是重建碎片率超过 30% 的索引,重组碎片率低于 30% 的索引。30% 的值适用于大多数用例,但是如果您仍然看到由于未使用的索引而导致查询计划不佳,则可能需要重新考虑这个百分比。
使用如下查询来检查碎片:
SELECT OBJECT_NAME(OBJECT_ID), index_id,index_type_desc,index_level, avg_fragmentation_in_percent,avg_page_space_used_in_percent,page_count FROM sys.dm_db_index_physical_stats (DB_ID(N'
<your_database>
'), NULL, NULL, NULL , 'SAMPLED') ORDER BY avg_fragmentation_in_percent DESC
建议您创建维护任务,以定期重建索引。