存储过程运行速度非常慢(>60 秒)是否有任何逻辑原因,但如果我运行与常规 SQL 脚本完全相同的代码,它将在不到 3 秒的时间内执行?
以我的思维方式,它们应该运行相同,但这不是我所看到的。我怀疑还有其他事情发生,但想看看其他人是否也见过类似的事情。
情况是我的客户报告 SP 运行缓慢,我确认了这一点,所以我添加了一个索引,在 SP 之外运行代码,它运行得非常快,但后来我重新运行 SP,它并没有改善.
为了以防万一,我还删除并重新创建了 SP,但不知何故,每次 SP 运行时似乎都可能使用旧的执行计划?
最佳答案
可能是参数嗅探,或者可能在将 ARITHABORT 设置为 OFF 的情况下调用过程
你能显示代码吗?
关于sql-server-2005 - SQL Server 性能 - 运行即席查询与在存储过程中编译的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201825/