【发布时间】:2015-12-17 22:08:40
【问题描述】:
我已阅读多篇文章并了解基于 BOL 的重组不会更新统计信息,因为数据分布没有改变。我们过去每天晚上都进行索引重建,直到速度太慢,有时会进行索引重建,有时会进行索引重组(我称之为智能重建索引)。突然间,在更改 6 个月后,我接到一个电话,说您的查询有问题……经过数小时的分析,我终于发现问题是由于过时的统计数据造成的。以前从未遇到过这个问题,因为索引的重建等同于使用全扫描的统计更新。
我的理论,如果我错了,请纠正我,如果每晚运行智能重新索引(基于最佳实践 = 在 > 30% 碎片时重建和在 5 到 30% 碎片之间重组),它可能第一次左右重建索引,然后永远重新组织,因为夜间进程将在重新组织中捕获它并且永远不会有机会重建......因此永远不会更新统计信息?
因此,如果我有一个包含 1000 万行的表,我将不得不等到 200 万行被修改后才开始更新统计信息,并且永远不会重建索引?!?!?
我是正确的还是错误的?
【问题讨论】:
标签: sql-server indexing statistics maintenance