最近在我們的生產服務器上 - 我們已經開始面對一些問題 - 查詢哪些用法只需5分鐘,需要超過30分鐘才能完成。SQL Server - 存儲過程執行時間問題
有時他們恢復正常。我沒有檢查任何數據量的變化,但仍然查詢運行有時慢,有時快。
如何診斷這些類型的問題。
問候
最近在我們的生產服務器上 - 我們已經開始面對一些問題 - 查詢哪些用法只需5分鐘,需要超過30分鐘才能完成。SQL Server - 存儲過程執行時間問題
有時他們恢復正常。我沒有檢查任何數據量的變化,但仍然查詢運行有時慢,有時快。
如何診斷這些類型的問題。
問候
你有沒有看到,休息用,估計的執行計劃在SQL Management Studio中的查詢。而運行你的查詢下的查詢?它會給你執行查詢花費的時間百分比。
聽起來parameter sniffing(SO幾個鏈接)
快速的方法來檢查運行sp_updatestats
,看看它是否修復該問題。這將註銷所有的查詢計劃,並確認(或不)參數嗅探
有關詳細信息,由厄蘭Sommarskog閱讀"Slow in the Application, Fast in SSMS?"
把下面的行放在PROC每一步之後它會幫助你找出哪些部分佔用了多少時間。所以你可以找出原因。它幫助我所有的時間
打印轉換(VARCHAR(50),GETDATE(),109)
附:在執行你的proc後,看到消息標籤那裏它會顯示你的日期時間毫秒
程序是近5000行的代碼 - 通過執行計劃尋找是困難的。它只是一個SELECT命令與很多聯接 - 在哪裏把這個打印轉換... –
我不明白它,一方面你說它的5000行n然後你說它只是一個選擇聲明。 在選擇語句之前會有一些數據處理...我想是的 –