最近在我们的生产服务器上-我们已经开始面临问题-查询过去只需要5分钟就可以完成,而现在需要超过30分钟才能完成。
有时它们会恢复正常。我检查了数据量没有任何变化,但查询运行时慢时快。
如何诊断这些类型的问题。
问候
发布于 2011-09-26 18:57:38
听起来像parameter sniffing (几个SO链接)
检查的最快方法是运行sp_updatestats,看看它是否解决了这个问题。这将使所有查询计划无效,并确认(或不确认)参数嗅探
想要了解更多,请阅读Erland Sommarskog的"Slow in the Application, Fast in SSMS?"
发布于 2011-09-26 18:47:35
您是否看到使用SQL Management Studio中的预计执行计划对您的查询进行的查询分解。在运行查询时?它会给出执行查询所用时间的百分比。
发布于 2011-09-26 22:14:45
在你的proc中的每一步之后放上下面这一行,它将帮助你找出哪一部分花费了多少时间。这样你就能找出原因了。它一直都对我有帮助
打印转换(varchar(50),getdate(),109)
附注:在执行完proc之后,请查看那里的消息选项卡,它将显示使用毫秒的日期时间
https://stackoverflow.com/questions/7553859
复制相似问题