存在一个存储过程运行速度非常慢(> 60秒)的逻辑原因,但是如果我运行与常规SQL脚本完全相同的代码它会在不到3秒内执行?SQL Server的性能 - 运行即席查询与在存储过程中编译
以我的想法,他们应该运行相同的,但这不是我所看到的。我怀疑还有其他事情在发生,但是想看看是否有其他人看过类似的东西。
这种情况是我的客户报告了一个运行缓慢的SP,我确认了,所以我添加了一个索引,运行了SP之外的代码,运行得非常快,但之后我重新运行了SP,结果没有提高。
为了以防万一,我也删除并重新创建了SP,但不知何故,似乎它每次SP运行时都可能使用旧的执行计划?
男人。就是这样......性能从60+降到了3秒,参数嗅探是问题,并且在这种情况下很容易修复。这也解释了为什么它在SQL2000中工作,但在2005年放缓 - 谢谢! – 2010-02-04 17:56:05