注意細節 儲存過程的重編譯

2021-05-21 19:39:00 字數 491 閱讀 9456

我們都知道,當儲存過程引用的表改變時,

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...