2011-05-12 156 views
0

我們有他們在我們的項目中調用大量存儲過程的函數。SQL Server存儲過程性能問題

有時某些存儲過程在我們更改存儲過程時工作非常緩慢,問題得到解決但10天后問題再次出現。我們使用reindexing,優化查詢等...

但我們沒有找到任何穩定的解決方案。

沒有人有任何想法有關此類型的問題

感謝...

+4

我想我們需要更具體的信息 - 根據您提供的信息,您的猜測與我們的一樣好。 – 2011-05-12 13:54:41

+0

如果您提供了一個示例,說明您的sp看起來像什麼 – DForck42 2011-05-12 14:28:32

+0

比較存儲過程的查詢計劃,當它正常運行並且運行非常緩慢時。 SQL Server很可能會隨着時間的推移更改查詢計劃,更新統計數據將有所幫助,但您也可以通過比較查詢計劃獲得的信息來調整存儲過程以獲得更好的性能。 – Catch22 2011-05-12 16:08:39

回答

4

如果存儲過程的隨機運行緩慢和運行它們的alter分揀出來,然後這聽起來像一個參數嗅探問題。

運行一個ALTER將導致爲該過程刪除緩存的計劃,並將在下次執行時重新編譯該計劃。 A good article on the area is here

+1

sp_recompile應該有所幫助。 有關MSDN爲什麼有時必須重新編譯sp的一個簡單說明: http://msdn.microsoft.com/en-us/library/ms190439.aspx – Elian 2011-05-12 15:58:49

0

您可能需要更新統計信息。

EXEC sp_updatestats