原文:分析存儲過程重編譯的起因以及避免

為了改進性能,分析重編譯的起因很重要。往往,重編譯可能並不需要,可以避免它以改進性能。了解導致重編譯發生的不同條件有助於評估重編譯的起因,並決定在重編譯不必要時避免它的方法。 存儲過程重編譯在以下情況下發生: 存儲過程語句中引用的常規表 臨時表或視圖的架構變化。架構變化包括表的元數據或表上索引的變化 常規或臨時表的列上的綁定 如默認 規則 變化。 表索引或列上的統計的變化超過一定的閾值。 存儲過 ...

2013-11-19 16:40 1 4351 推薦指數:

查看詳情

sqlserver 存儲過程中使用臨時表到底會不會導致編譯

曾經在網絡上看到過一種說法,SqlServer的存儲過程中使用臨時表,會導致編譯,以至於執行計划無法重用,運行時候會導致編譯的這么一個說法,自己私底下去做測試的時候,根據profile的跟蹤結果,存儲過程中使用臨時表,如果不是統計信息變更導致導致的編譯,並不會導致編譯,但是現實情況 ...

Wed Sep 09 07:01:00 CST 2015 1 2371
SQL SERVER 臨時表導致存儲過程編譯(recompile)的一些探討

SQLSERVER為了確保返回正確的值,或者處於性能上的顧慮,有意不重用緩存在內存里的執行計划,而重新編譯執行計划的這種行為,被稱為重編譯(recompile)。那么引發存儲過程編譯的條件有哪一些呢?下面羅列了一些導致編譯(recompile)的條件: - 對查詢所引用的表 ...

Sun Nov 01 19:55:00 CST 2015 7 3715
sql之-存儲過程的血緣分析

這個是在工作中針對存儲過程做血緣分析的時候使用到的,用的時候還是挺好用的,記錄一下 希望后面遇到類似的即可立即投入使用! 1.檢查存儲過程使用哪些表: 2.檢查表在哪些存儲過程中使用: 總結,此過程在倉庫操作中,對多余的表清理中可以使用此來進行排查 ...

Tue Nov 19 17:22:00 CST 2019 0 264
oracle存儲過程已被編譯但出錯,存儲過程調試

oracle存儲過程已被編譯但出錯,代碼編寫錯誤,這時候需要調試,找到創建的存儲過程,然后右擊,選擇查看,運行可查看報錯信息 存儲過程調試: 1.找到要調試的存儲過程,右擊,點擊添加調試信息,點擊測試 2.逐步運行,可以跳入要調試的存儲過程,進入后就可以開始調試了 ...

Mon Jul 06 03:07:00 CST 2020 0 661
常見存儲過程分頁PK賽——簡單測試分析常見存儲過程分頁速度

數據的分頁是我們再熟悉不過的功能了,各種各樣的分頁方式層出不窮。今天我把一些常見的存儲過程分頁列出來,再簡單地測一下性能,算是對知識的總結,也是對您好想法的拋鑽引玉。廢話不多說,開始吧~~ 1.首先建立一張測試表 2.循環插入1000000條測試數據 3.曬 ...

Wed Jan 23 19:15:00 CST 2013 13 2755
Oracle 重新編譯存儲過程/函數等

第一種 如果你使用 PL/SQL Developer工具 左側工具欄中選擇“存儲過程”-》選擇已經失效的procedure-》右鍵-》選擇重新編譯 即可完成 第二種 命令行版 1.查找到無效對象 select 'Alter '||object_type ...

Tue Aug 13 19:54:00 CST 2019 0 1642
Oracle存儲過程編譯卡死的解決方法

解決方法如下: 1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CRM_LASTCHGINFO_DAY' AND LOCKS!='0'; 注意:CRM_LASTCHGINFO_DAY為存儲過程的名稱。 發現 ...

Fri Apr 15 22:03:00 CST 2016 0 7222
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM