索引的壓縮除了減少存儲空間外,同時也減少了IO次數,減少了緩沖區記憶體占用。
Oracle 9i在index_stats視圖中提供了兩列:opt_cmpr_count,opt_cmpr_pctsave ,通過分析索引的結構可以統計出索引的壓縮比,以及适合壓縮的字段數(如果是用PL SQL DEV多會話模式的話,注意需要在analyze index 的同一會話才能查詢index_stats視圖的結果)
Declare
BeginExecute Immediate 'Create table zl_indexes_compress(idxname varchar(100),cnt number,pct number)';
ForR
In(
SelectOwner || '.' || Index_Name Idxname
FromAll_Indexes
WhereOwner = 'ZLHIS'
And Rownum<100)
Loop Execute Immediate'analyze index ' || R.Idxname || ' validate Structure';
Execute Immediate'Insert Into zl_indexes_compress Select :x,opt_cmpr_count,opt_cmpr_pctsave From index_stats'
UsingR.Idxname;
End Loop;
Commit;
End;
/
SQL> Select * From zl_indexes_compress Order By pct Desc;