2011-06-17 66 views

回答

0

只要所有的自动创建/自动更新都打开,那么SQL优化器不会更新统计信息的原因很可能是因为它认为它无需制定最佳查询计划。

反过来,这可能是因为你的表的标准用法不经常利用他们的查询(即where子句,比较,连接等)

您可以手动更新的统计数据,但如果SQL ISN如果不能及时更新,那么在正常的活动过程中,您可能会注意到没有任何改进。 (只要自动更新打开)

翻转......如果您突然开始在历史上不常使用的列上开始运行查询,那么优化程序可能会改变它的想法并开始保持更近的眼睛在上面。

返回自动更新...如果它关闭,那么你在自己的领土上。另外,如果有人进来并手动创建了一堆统计数据,那么这些统计数据也不会被SQL更新,除非它们在优化查询时变得有用。

This Books Online article is an excellent source of information.

+0

编辑链接到BOL文章。迈向最底层的是最佳实践和讨论触发更新的原因。一些BOL的东西是如此,所以,我认为这篇文章非常好。 – RThomas