欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle 12C R2-新特性---增强索引压缩

程序员文章站 2024-03-14 13:46:58
...

高级索引压缩可以很好的应用于所有支持的索引。使用高级索引压缩创建索引可以减少所有唯一和非唯一索引的大小,并显着提高压缩率,占用更少的空间,同时仍然可以有效地访问索引。

对于分区索引,可以在分区基础上指定压缩类型。 您还可以对索引分区指定高级索引压缩,即使父索引未压缩。

高级索引压缩是工作在块级别,可以为每个块提供更好的压缩。

1 具体例子

SQL>conn oe/[email protected];
Connected.

SQL> create table test_a(id number,name varchar2(20));
Table created.

1.1 创建低级别的高级索引压缩

SQL> create index pk_id on test_a(id) compress advanced low;
Index created.

1.2 查看索引压缩级别

SQL> col index_name for a20
SQL> select INDEX_NAME,COMPRESSION from dba_indexes where index_name='PK_ID';

INDEX_NAME	     COMPRESSION
-------------------- --------------------------
PK_ID	     ADVANCED LOW

1.3 通过重建索引启用高级别的高级索引压缩

SQL> alter index pk_id rebuild compress advanced high;
Index altered.

SQL> select INDEX_NAME,COMPRESSION from dba_indexes where index_name='PK_ID';

INDEX_NAME	     COMPRESSION
-------------------- --------------------------
PK_ID	     ADVANCED HIGH

1.4 名词解释

  • 低级别的高级索引压缩:此级别以最小的CPU开销提供较低的压缩比。 在启用COMPRESS ADVANCED LOW之前, 数据库必须处于12.1.0或更高的兼容性级别。
  • 高级别的高级索引压缩:此级别,默认情况下,以某些CPU大的开销提供更高的压缩率。 在启用COMPRESS ADVANCED HIGH之前,数据库必须处于12.2.0或更高的兼容性级别。

注意:

  • 高级索引压缩不支持位图索引或者索引组织表
  • 当启用低级别的高级索引压缩时,无法在单个列唯一索引上指定高级索引压缩。 启用高级别的高级索引压缩时,此限制不适用。