我們都知道,當儲存過程引用的表改變時,
sql server
會重新編譯該儲存過程。但是當我們增加乙個有助於儲存過程執行效率的索引時,
sql server
卻不會重新編譯該儲存過程。
只有當儲存過程快取記憶體被沖刷時(
sql server
重新啟動),儲存過程才會被重新編譯。
如果想要強制編譯乙個儲存過程,可以呼叫系統儲存過程:
當一張表涉及到的儲存過程很多的時候,可以直接指定表(檢視)名來重新編譯相關的物件:
這條語句將會重新編譯依賴於表(檢視)
order
的所有觸發器和儲存過程。
execute
sp_recompile p_sys_orderread
execute
sp_recompile
order
terrylee
出處:http://terrylee.cnblogs.com
儲存過程的重編譯處理
有3種方法可以重新編譯 1.在床架儲存過程是使用with recompile子句 with recompile 子句可以指示sql server2005 不將該儲存過程的查詢計畫儲存在快取中,而是在每次執行時重新編譯和優化,並建立新的查詢計畫。use book gocreate procedure ...
在Oracle中重編譯所有無效的儲存過程
sql plus中,spool execcompproc.sql select alter procedure object name compile from all objects where status invalid and object type procedure spool off ...
plsql 編譯儲存過程hang
今天一應用在執行儲存過程,長時間沒有結束,相比正常時的執行,慢了很多,後經分析,需要調整儲存過程中的相關sql語句,不過,等更新編輯後,重新編譯,等待了十分鐘都沒響應,hang,急需處理。首先檢視了alert日誌正常,hanganalyze分析 16 47 46 sql oradebug setmy...