从oracle 12.1.0.2版本起,创建索引时可以通过COMPRESS ADVANCED LOW对index进行压缩
语法
create index index_name on table_name(col_name) COMPRESS ADVANCED LOW;
alter index index_name REBUILD COMPRESS ADVANCED LOW;
压缩空间对比
create table ddeng as select * from dba_objects; create index idx_ddeng on ddeng(object_id,object_name,owner); -- 暂用空间大小 SQL> select segment_name,bytes/1024/1024 from dba_segments where segment_name = ‘IDX_DDENG‘; SEGMENT_NAME BYTES/1024/1024 -------------------- --------------- IDX_DDENG 80 -- 压缩后 SQL> alter index idx_ddeng REBUILD COMPRESS ADVANCED LOW; Index altered. SQL> select segment_name,bytes/1024/1024 from dba_segments where segment_name = ‘IDX_DDENG‘; SEGMENT_NAME BYTES/1024/1024 -------------------- --------------- IDX_DDENG 22
启用COMPRESS ADVANCED LOW 在 dba_indexes.compression 值显示为Enable
Note:
- Advanced index compression is not supported for bitmap indexes or index-organized tables.
- Advanced index compression cannot be specified on a single column unique index.
时间: 2024-09-29 04:03:36