1つの解説
高度なインデックス圧縮は、既存のプレフィックス圧縮機能のための良い候補ではないものをインデックスを含むすべてのサポートされているインデックス、上でうまく動作します。索引の先頭列で無いとインデックス、または数、重複する値を含みます。
サポートされているすべてのインデックスに使用される高インデックス圧縮既存のインデックス接頭辞圧縮特性に適合しないものも含めて、非常に優れている、
先頭列のインデックスに含ま重複した値をインデックス化以下されていません。
まだインデックスへの効率的なアクセスを提供しながら、高度なインデックス圧縮を大幅に圧縮率を向上させます。
まだ非常に効率的なインデックスへのアクセス中に高屈折率の圧縮が大幅に、圧縮率を向上させます。
実験2
シニアインデックス圧縮を有効にする前に、およびデータベースは、12.1.0以降でなければなりません。圧縮レベル:LOW、HIGH
2.1テーブルを作成し、データを挿入
SQL> conn lei/lei@lei1;
Connected.
SQL> create table cndba_t as select * from dba_objects;
Table created.
SQL> insert into cndba_t select * from cndba_t;
81053 rows created.
SQL> /
162106 rows created.
通常のインデックスを作成して2.2
SQL> create index cndba_ind on cndba_t(object_name);
Index created.
- ビューのインデックスのサイズ
SQL> select segment_name ,sum(bytes)/1024/1024
from user_segments
where segment_type ='INDEX'
and SEGMENT_NAME ='CNDBA_IND'
group by segment_name; 2 3 4 5
SEGMENT_NAME SUM(BYTES)/1024/1024
------------------ --------------------
CNDBA_IND 17 --大小为17M
既存のインデックス高度な圧縮インデックスの再構築を2.2.1
Cndba_ind指数は現在、高度な圧縮インデックスとして再構築されます
SQL> ALTER INDEX CNDBA_IND REBUILD COMPRESS ADVANCED LOW;
Index altered.
- 再び表示インデックスのサイズ
SQL> select segment_name ,sum(bytes)/1024/1024
from user_segments
where segment_type ='INDEX'
and SEGMENT_NAME ='CNDBA_IND'
group by segment_name; 2 3 4 5
SEGMENT_NAME SUM(BYTES)/1024/1024
------------------ --------------------
CNDBA_IND 8 --大小为8M,可以看到几乎减少了一半的大小。
2.3高度な圧縮インデックスを作成します。
SQL> CREATE INDEX CNDBA_IND ON CNDBA_T(object_name) COMPRESS ADVANCED LOW;
Index created.
- ビューのインデックスのサイズ
SQL> select segment_name ,sum(bytes)/1024/1024
from user_segments
where segment_type ='INDEX'
and SEGMENT_NAME ='CNDBA_IND'
group by segment_name; 2 3 4 5
SEGMENT_NAME SUM(BYTES)/1024/1024
------------------ --------------------
CNDBA_IND 8 -大小不变