【发布时间】:2011-03-11 18:21:40
【问题描述】:
昨晚我表演了一个存储过程坦克。查看查询计划,许多运算符的估计行数远高于实际值。这通常向我表明统计数据已过时。但是,在使用 fullscan 选项更新相关数据库中所有表中的所有统计信息后,问题仍然存在。我还尝试重新编译存储过程以及它使用的任何视图,但无济于事。有没有人对如何提高性能或为什么性能改变有任何想法?提前致谢。
【问题讨论】:
-
有人更改了存储过程吗?
-
您是否尝试过重建或重组它正在使用或可能正在引用的索引?
-
如果您查看计划的属性并获取参数的编译时间值并执行这些参数,基数估计是否仍然错误?
-
@Joe Phillips:存储过程没有变化。此外,手动运行底层查询会产生相同的行为
-
@Martin:我应该更清楚;基础查询有问题。在存储过程之外运行它的行为是一样的。
标签: sql-server sql-server-2008