曾經在網絡上看到過一種說法,SqlServer的存儲過程中使用臨時表,會導致重編譯,以至於執行計划無法重用,運行時候會導致重編譯的這么一個說法,自己私底下去做測試的時候,根據profile的跟蹤結果,存儲過程中使用臨時表,如果不是統計信息變更導致導致的重編譯,並不會導致重編譯,但是現實情況 ...
為了改進性能,分析重編譯的起因很重要。往往,重編譯可能並不需要,可以避免它以改進性能。了解導致重編譯發生的不同條件有助於評估重編譯的起因,並決定在重編譯不必要時避免它的方法。 存儲過程重編譯在以下情況下發生: 存儲過程語句中引用的常規表 臨時表或視圖的架構變化。架構變化包括表的元數據或表上索引的變化 常規或臨時表的列上的綁定 如默認 規則 變化。 表索引或列上的統計的變化超過一定的閾值。 存儲過 ...
2013-11-19 16:40 1 4351 推薦指數:
曾經在網絡上看到過一種說法,SqlServer的存儲過程中使用臨時表,會導致重編譯,以至於執行計划無法重用,運行時候會導致重編譯的這么一個說法,自己私底下去做測試的時候,根據profile的跟蹤結果,存儲過程中使用臨時表,如果不是統計信息變更導致導致的重編譯,並不會導致重編譯,但是現實情況 ...
SQLSERVER為了確保返回正確的值,或者處於性能上的顧慮,有意不重用緩存在內存里的執行計划,而重新編譯執行計划的這種行為,被稱為重編譯(recompile)。那么引發存儲過程重編譯的條件有哪一些呢?下面羅列了一些導致重編譯(recompile)的條件: - 對查詢所引用的表 ...
本文出處:http://www.cnblogs.com/wy123/p/6262800.html 在考慮重編譯T-SQL(或者存儲過程)的時候,有兩種方式可以實現強制重編譯(前提是忽略導致重編譯的其他因素的情況下,比如重建索引,更新統計信息等等), 一是 ...
這個是在工作中針對存儲過程做血緣分析的時候使用到的,用的時候還是挺好用的,記錄一下 希望后面遇到類似的即可立即投入使用! 1.檢查存儲過程使用哪些表: 2.檢查表在哪些存儲過程中使用: 總結,此過程在倉庫操作中,對多余的表清理中可以使用此來進行排查 ...
oracle存儲過程已被編譯但出錯,代碼編寫錯誤,這時候需要調試,找到創建的存儲過程,然后右擊,選擇查看,運行可查看報錯信息 存儲過程調試: 1.找到要調試的存儲過程,右擊,點擊添加調試信息,點擊測試 2.逐步運行,可以跳入要調試的存儲過程,進入后就可以開始調試了 ...
數據的分頁是我們再熟悉不過的功能了,各種各樣的分頁方式層出不窮。今天我把一些常見的存儲過程分頁列出來,再簡單地測一下性能,算是對知識的總結,也是對您好想法的拋鑽引玉。廢話不多說,開始吧~~ 1.首先建立一張測試表 2.循環插入1000000條測試數據 3.曬 ...
第一種 如果你使用 PL/SQL Developer工具 左側工具欄中選擇“存儲過程”-》選擇已經失效的procedure-》右鍵-》選擇重新編譯 即可完成 第二種 命令行版 1.查找到無效對象 select 'Alter '||object_type ...
解決方法如下: 1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CRM_LASTCHGINFO_DAY' AND LOCKS!='0'; 注意:CRM_LASTCHGINFO_DAY為存儲過程的名稱。 發現 ...