「重新編譯」SQL Server上的存儲過程是什麼意思? 這應該是手動過程還是自動過程? 這個過程有什麼優點和缺點? 謝謝!「重新編譯」SQL Server上的存儲過程是什麼意思?
4
A
回答
6
這是嚴格的SQL Server內部操作。
作爲一個數據庫被這種行爲改變添加索引或更改索引列中的數據,用來訪問它的表的原始查詢計劃應再次通過重新編譯他們
優化這裏的MSDN's article on Recompiling Stored Procedures
當您發出ALTER PROC
語句時,也會導致存儲過程的重新編譯。
2
使用重新編譯使得SQL Server重新編譯爲SP,因此數據庫引擎不會爲同一個SP使用現有計劃,而會創建新的執行計劃。
根據您的要求,它既可以是自動化的也可以是手動的。通過在SP中包含RECOMPILE「提示」,您可以在每次執行SP時重新編譯SP。或運行
Exec的sp_recompile N'yourSP」
手動重新編譯。
而@Michael提到,太多的重新編譯可能會非常糟糕,因爲每個編譯數據庫引擎都必須創建新的執行計劃,這可能會導致代價高昂的操作。因此,一般應避免自動重新編譯SP,甚至在開發環境中首先要測試手動重新編譯,然後才能使用它來確保它確實有幫助。
相關問題
- 1. 什麼時候存儲過程重新編譯?(SQL Server)的
- 2. 什麼因素會導致SQL Server上的存儲過程重新編譯?
- 3. 新的存儲過程默認內容是什麼意思?
- 4. 手動重新編譯存儲過程SQL Server
- 5. SQL Server存儲過程自動重新編譯?
- 6. SQL Server - 強制NO重新編譯存儲過程
- 7. SQL Server過程重新編譯
- 8. UNIX上的「內部編譯器錯誤:存儲失敗」是什麼意思?
- 9. 更新統計信息重新編譯sql server中的存儲過程
- 10. 這是什麼意思在SQL Server 2005
- 11. sql server圖標是什麼意思?
- 12. SQL Server:1 ++ 2是什麼意思?
- 13. 重新編譯存儲過程時是否還重新編譯了依賴性存儲過程?
- 14. 這是什麼意思Bootstrap被編譯?
- 15. 編譯時間'const'是什麼意思?
- 16. 重複性SQL:這是什麼意思?
- 17. 通過意圖和編程的意思是什麼?
- 18. 「線程轉儲」是什麼意思
- 19. 是什麼意思:是什麼意思?
- 20. SQL Server:FLO.Tablename是什麼意思?
- 21. 我是新來的線程,這個編譯錯誤是什麼意思?
- 22. 什麼是sql server中的存儲過程的包裝?
- 23. 重點是什麼意思?
- 24. 「重構」是什麼意思?
- 25. 什麼是換行的一個SQL Server存儲過程
- 26. 什麼是MS SQL Server中的擴展存儲過程
- 27. 在編程中這是什麼意思
- 28. 在「SQL Server代理上下文中,」pager「是什麼意思?
- 29. Oracle PL/SQL存儲過程編譯器vs PostgreSQL PGSQL存儲過程編譯器
- 30. SQL Server複製 - 新的存儲過程
Downvoter對我的答案如何不能爲問題提供好處和價值有任何解釋嗎? –