存在一個存儲過程運行速度非常慢(> 60秒)的邏輯原因,但是如果我運行與常規SQL腳本完全相同的代碼它會在不到3秒內執行?SQL Server的性能 - 運行即席查詢與在存儲過程中編譯
以我的想法,他們應該運行相同的,但這不是我所看到的。我懷疑還有其他事情在發生,但是想看看是否有其他人看過類似的東西。
這種情況是我的客戶報告了一個運行緩慢的SP,我確認了,所以我添加了一個索引,運行了SP之外的代碼,運行得非常快,但之後我重新運行了SP,結果沒有提高。
爲了以防萬一,我也刪除並重新創建了SP,但不知何故,似乎它每次SP運行時都可能使用舊的執行計劃?
男人。就是這樣......性能從60+降到了3秒,參數嗅探是問題,並且在這種情況下很容易修復。這也解釋了爲什麼它在SQL2000中工作,但在2005年放緩 - 謝謝! – 2010-02-04 17:56:05