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 在資料處理時所需...