天天看點

分析哪些索引适合壓縮,以及壓縮幾個字段

索引的壓縮除了減少存儲空間外,同時也減少了IO次數,減少了緩沖區記憶體占用。

Oracle 9i在index_stats視圖中提供了兩列:opt_cmpr_count,opt_cmpr_pctsave ,通過分析索引的結構可以統計出索引的壓縮比,以及适合壓縮的字段數(如果是用PL SQL DEV多會話模式的話,注意需要在analyze index 的同一會話才能查詢index_stats視圖的結果)

Declare

Begin

Execute Immediate 'Create table zl_indexes_compress(idxname varchar(100),cnt number,pct number)';

For

R

In

(

Select

Owner || '.' || Index_Name Idxname

From

All_Indexes

Where

Owner = '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'

Using

R.Idxname;

End Loop

;

Commit

;

End

;

/

SQL> Select * From zl_indexes_compress Order By pct Desc;