今天在群裡面看到乙個訊息。提問是這樣的 他認為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無法獲取快照資訊 鎖定檔案失敗
這是因為虛擬機器在執行的時候,會鎖定檔案,防止被修改,而如果突然系統崩潰了,虛擬機器就來不急把已經鎖定的檔案解鎖,所以你在啟動的時候,就會提示無法鎖定檔案,如下圖 解決辦法 開啟你存放虛擬機器系統檔案的資料夾,注意,是系統檔案,不是虛擬機器的安裝目錄,也就是你建立虛擬機器的時候下圖設定的位置 然後以...