Oracle索引分析

2021-06-09 16:39:27 字數 1132 閱讀 5711

analyze index時, validate structure和compute statistics的區別? 

analyze index index1 validate structure: 

analyze index index1 compute statistics:

在分析索引的時候,一般會用到以上二個命令,那麼這二個命令是用來幹什麼呢?

analyze index index1 validate structure:是用來分析索引的資料塊是否有壞塊,以及根據分析得到的資料(存放在index_stats)來判斷索引是否需要重新建立。

什麼樣的index需要rebuild?

當乙個table經常進行dml操作時,它的索引會存在許多block空間的浪費,這是因為index block中的記錄只有在全部表示為不可用時, block 才能被加入到freelist中去被重新利用。所以我們需要尋找那些浪費空間很嚴重的index。

方法是: 1) analyze index index_name validate structure;

2) select (del_lf_rows_len/lf_rows_len)*100 from index_stats where name = :index_name;

3) 如果結果大於20%, 那你的index就可以被rebuild了。

validate structure有二中模式: online, offline, 預設是offline模式。以offline模式分析時, 會對錶加乙個4級別的鎖(表共享),對run系統可能造成一定的影響。

而online模式則沒有表lock的影響,但當以online模式分析時, 在檢視index_stats沒有統計資訊。

analyze index index1 compute statistics:是用來統計index的分析資訊,來為cbo服務的。從9i開始,oracle以建議使用dbms_stats package代替 analyze 了。 

監控索引:

alter index index_name monitoring usage;

停止監控索引:

alter index index_name nomonitoring  usage;

通過資料字典 v$object_usage 檢視是否有使用。

oracle 索引的分析和整理

索引碎片的分析和整理 索引碎片產生的原因 對索引字段頻繁地進行delete update操作,會對索引造成大量的碎片。影響 極大地影響了索引的使用效率,並造成索引i 0的增加。1 索引碎片分析 分析語句 sql analyze index validate structure online 分析表 ...

ORACLE分析表和索引的指令碼

analyze.sql set serveroutput on size 100000 declare v per number 3 v start number dbms utility.get time v end number begin for rec in select segment n...

索引在Oracle中的應用分析

索引是提高資料查詢最有效的方法,也是最難全面掌握的技術,因為正確的索引可能使效率提高10000倍,而無效的索引可能是浪費了資料庫空間,甚至大大降低查詢效能。一.索引的管理成本 1 儲存索引的磁碟空間 2 執行資料修改操作 insert update delete 產生的索引維護 3 在資料處理時所需...