SQL Server - 存储过程执行时间问题

时间:2011-09-26 10:41:26

标签: sql sql-server

最近在我们的PRODUCTION SERVER上 - 我们已经开始面临问题 - 只需要花费5分钟的查询需要花费超过30分钟来完成。

有时它们会恢复正常。我已经检查了数据卷没有任何变化,但仍然查询运行有时很慢,有时很快。

如何诊断这些类型的问题。

此致

3 个答案:

答案 0 :(得分:2)

听起来像parameter sniffing(多个SO链接)

检查的快速方法是运行sp_updatestats,看看它是否解决了问题。这将使所有查询计划无效并确认(或不确认)参数嗅探

更多信息,请阅读Erland Sommarskog的"Slow in the Application, Fast in SSMS?"

答案 1 :(得分:0)

您是否看到,通过在SQL Management Studio中使用估计的执行计划来查询查询...在运行查询时?它将给出执行查询所花费的时间百分比。

答案 2 :(得分:0)

在你的proc中的每一步之后添加以下行,它将帮助你找出哪个部分花了多少时间。所以你可以找出原因。它一直对我有所帮助

print convert(varchar(50),getdate(),109)

P.S。执行你的proc之后,请看那里的消息标签,它会显示你带有毫秒的日期时间