有關執行計畫不穩的問題

2021-06-20 23:09:38 字數 429 閱讀 6100

對於資料量不穩定的表,如夜間大批量delete或truncate後統計資訊不准,重建表後,統計資訊也一併刪除了,

如何避免這種情況對相關表的執行計畫發生影響,可以考慮鎖定表的統計資訊。

exec dbms_stats.lock_table_stats('username','tablename');

鎖定後,在drop表後也會一樣會刪除統計資訊。

在alter table t1 add ( col1 int)後,統計資訊不變,與是否鎖定也沒關係。

在鎖定後,如果再收集其統計資訊,會報錯:

ora-20005: object statistics are locked (stattype = all)

解鎖後可以再收集: exec dbms_stats.unlock_table_stats('username','tablename');

Oracle執行計畫不穩定

前段時間,在專案中碰到乙個相當棘手的問題。我在寫一張報表時需要查詢客戶資料庫中已存在的檢視 是早期開發就有的 相對應的銷售表中已有上千萬條資料,寫完後台邏輯將對應資料查出來沒任何問題。但是在介面上再點選查詢按鈕。問題就來了 頁面直接卡死。排除掉其他常見問題,例如語句效能,索引,快取等等。最後發現奇怪...

有關執行計畫,空間釋放的另一些

最近負責起了dba的部分工作,於是有一天在對錶空間的清理中發現了一張表,這個表有27g那麼大,是乙個分割槽表,按天分割槽。我檢視了過程,每天刪除35天以前的資料,但是用的方法是delete,那麼我就可以很明確的推斷出,這個表占用了大量本應該釋放的空間。我第乙個使用的方法是move alter tab...

有關socket各方法執行順序問題

最近在寫這個方面的程式!假設客戶端是傳送資料的,伺服器是用來接收資料的!我認識到的順序是 派生於casyncsocket 1,伺服器建乙個socket來create and listen 2,客戶端建乙個socket來create and connect 這個時候伺服器端自動觸發onaccept 客...