今天碰到一個很奇怪的問題,關於存儲過程,留下以後用

 今天碰到一個很奇怪的問題,關於存儲過程,幾下以後用
一個存儲過程。內容就不寫了。
問題:在查詢分析器上執行速度很快,幾乎幾秒鐘就可以完成!而在程序裏執行需要很久,甚至不能完成!(已排除代碼問題)還導致瀏覽器卡死。

解決方法:修改存儲過程名稱。
猜想:應該是存儲過程執行過期導致,存儲過程是預編譯的, 在第一次執行的時候, 會生成執行計劃, 以後執行的時候, 會使用這個執行計劃(除非存儲過程侯或者顯示指定重新編譯), 而不是每次執行時都去生成執行計劃
當存儲過程涉及的對象結構調整, 或者相關的數據產生了很大變化, 這可能導致原來的計劃不適合當前的現狀(執行計劃過期), 這種情況下應該重新編譯存儲過程(可以通過 sp_recompile來標記要重新編譯的存儲過程)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章