通過鎖定統計資訊來鎖定執行計畫

2021-06-01 20:12:08 字數 1282 閱讀 9557

今天在群裡面看到乙個訊息。提問是這樣的  他認為oracle 10g很痛苦,隨著資料量的變化,sql的執行計畫在不停的改變,導致同乙個儲存過程,時間點不同,執行效率就不同.

他的問題是有沒有好的方法讓執行計畫不改變,個人認為是鎖定統計資訊。

如何鎖定統計資訊,下面來分布說明:

1. 首先收集統計資訊:

begin

dbms_stats.gather_table_stats(ownname          => 'lbas',

tabname          => 'dw_bo_order',

estimate_percent => 20,

method_opt       => 'for all columns size auto',

no_invalidate    => false,

degree           => 4,

granularity      => 'all',

cascade          => true);

end;

/ begin

dbms_stats.gather_table_stats(ownname          => 'lbas',

tabname          => 'dw_crm_day_user',

estimate_percent => 20,

method_opt       => 'for all columns size auto',

no_invalidate    => false,

degree           => 4,

granularity      => 'all',

cascade          => true);

end; /

2. 檢視如下語句的執行計畫

select *

from   dw_bo_order     a,

dw_crm_day_user b

where  a.prod_id = b.prod_id and

status_cd = 'c' and

bo_order_type = 2;

3. 使用dbms_stats鎖定狀態統計資訊

4. 檢視統計資訊

6 rows selected

統計資訊被鎖定

5. 如果想修改執行計畫,就解鎖統計資訊從新收集

事務與鎖定 檢視死鎖的資訊

模擬產生的死鎖 然後通過v locked object檢視來產看當前的死鎖資訊 select xidusn,number 回滾段號 xidslot,number 槽號 xidsqn number 序列號 object id,number 被鎖定的資料庫物件的編號 session id,number ...

Vmware無法獲取快照資訊 鎖定檔案失敗

注 本文 於 vmware無法獲取快照資訊 鎖定檔案失敗 因電腦睡眠失敗造成關機了。造成原因 如果使用vmware虛擬機器的時候突然系統崩潰藍屏,有一定機率會導致無法啟動,這是因為虛擬機器在執行的時候,會鎖定檔案,防止被修改,而如果突然系統崩潰了,虛擬機器就來不急把已經鎖定的檔案解鎖,所以你在啟動的...

Vmware無法獲取快照資訊 鎖定檔案失敗

這是因為虛擬機器在執行的時候,會鎖定檔案,防止被修改,而如果突然系統崩潰了,虛擬機器就來不急把已經鎖定的檔案解鎖,所以你在啟動的時候,就會提示無法鎖定檔案,如下圖 解決辦法 開啟你存放虛擬機器系統檔案的資料夾,注意,是系統檔案,不是虛擬機器的安裝目錄,也就是你建立虛擬機器的時候下圖設定的位置 然後以...