【发布时间】:2011-09-26 10:41:25
【问题描述】:
最近在我们的生产服务器上 - 我们开始面临问题 - 过去只需 5 分钟的查询现在需要超过 30 分钟才能完成。
有时它们会恢复正常。我检查了数据量没有任何变化,但查询运行有时慢有时快。
如何诊断这些类型的问题。
问候
【问题讨论】:
标签: sql sql-server
最近在我们的生产服务器上 - 我们开始面临问题 - 过去只需 5 分钟的查询现在需要超过 30 分钟才能完成。
有时它们会恢复正常。我检查了数据量没有任何变化,但查询运行有时慢有时快。
如何诊断这些类型的问题。
问候
【问题讨论】:
标签: sql sql-server
听起来像parameter sniffing(几个 SO 链接)
检查的快速方法是运行sp_updatestats,看看它是否能解决问题。这将使所有查询计划无效并确认(或不确认)参数嗅探
如需了解更多信息,请阅读 Erland Sommarskog 的 "Slow in the Application, Fast in SSMS?"
【讨论】:
您是否看到,在 SQL Management Studio 中为您的查询使用估计的执行计划分解查询。在运行您的查询时?它将给出执行查询所花费的时间百分比。
【讨论】:
在您的过程中的每个步骤之后添加以下行,它将帮助您找出哪个部分花费了多少时间。所以你可以找出原因。它一直在帮助我
打印转换(varchar(50),getdate(),109)
附:执行您的过程后,请查看消息选项卡,它会以毫秒为单位显示日期时间
【讨论】: