删除和创建存储过程

vij*_*run 3 performance sql-server

昨天我们在我的项目中看到了一些生产问题。当许多用户访问 SQL Server 中的报告时,它超时并且 CPU 上升到 100%。当我们检查后端时,大约有 60 个会话处于打开状态。我们刚刚决定删除并创建存储过程。我们删除并重新创建了存储过程,CPU 变为 40%,问题已解决。

你能告诉我可能是什么原因吗?今天在不同的存储过程中发生了这种情况,但我们立即删除并重新创建了存储过程以解决该问题。

Bre*_*zar 5

这种现象通常被称为参数嗅探。由于一组不寻常的参数,您得到了错误的执行计划,通过删除和重新创建存储过程,您刚刚清除了该存储过程的缓存执行计划。

相关阅读材料: