什么时候应该重建索引?每晚?每周?每小时?
运行一个 智能脚本(来自SQL Fool),每晚运行一次,它会决定不做任何操作、碎片整理或重建。
基本上,根据您的碎片水平做最少的操作。
个人而言,我会遵循每晚运行的一般规则。我至少会每晚重建统计信息。
这取决于索引的碎片化程度。
如果avg_fragmentation_in_percent值大于5%且小于等于30%,则应重新组织索引。 如果avg_fragmentation_in_percent值大于30%,则应重建索引。
来自SQL Server 2005文档:
执行ALTER INDEX...REORGANIZE以碎片化下列碎片化阈值的索引:(avg_page_space_used_in_percent < 75 and >60)或(avg_fragmentation_in_percent > 10 and <15)
执行ALTER INDEX...REBUILD以碎片化下列碎片化阈值的索引:(avg_page_space_used_in_percent <60)或(avg_fragmentation_in_percent > 15)