SQL Server 2008r2慢执行计划

时间:2014-01-29 21:27:00

标签: sql sql-server performance

我一直在与一个奇怪的查询性能问题作斗争。查询有时从网站运行缓慢(2 - 4秒)。我运行跟踪,似乎是CPU开销。跟踪将显示与持续时间大致相同的CPU时间量。我无法弄清楚的是,当我从跟踪中复制/粘贴查询并运行它时,它立即完成,跟踪显示大约需要300毫秒。我可以一遍又一遍地做同样的事情。网站速度慢,SSMS速度快。我甚至将查询转换为视图,而select现在只是直接查询视图,但我看到了同样的问题。

我注意到的另一个奇怪之处在于,尽管它是一个非常小的结果集(70行,13个小列),但运行查询所花费的时间与结果集的大小相关。因此,如果我将日期参数移动到20行而不是70行,我的查询时间也会减少到大约三分之一。

这是另一个观察结果:如果我取出最后一列并将其添加回来,它就会开始正常工作。但是,当我离开这一天然后回来时,当我回到办公室时,它再次变慢。这已多次发生。

我查了一下查看执行计划的方法。当它很慢时,它肯定是不同的,但我不知道为什么它很慢。

为什么它会一直为同一个查询使用不同的执行计划?

0 个答案:

没有答案