11G新特性 -- OLTP Table Compression

时间:2024-07-03 10:07:08

之前的版本中,只能在批量加载操作时,比如direct load、create table as select 操作,才能压缩数据。在dml操作期间是无法压缩数据的。

在11g中,oracle将表压缩扩展到OLTP负载,比如可以在insert的时候压缩数据。

OLTP压缩可以节省50-70%的空间。OLTP压缩不仅不会降低写的性能,还会增加读的性能(直接读取压缩数据)。

设置表压缩

普通的压缩表:

1.使用传统方式创建压缩表

SQL> create table ct1(id number) compress;

2.11G新语法方式创建压缩表

SQL> create table ct2(id number) compress for direct_load operations;

3.创建OLTP压缩表(dml操作时压缩数据)

SQL> create table ct3(id number) compress for all operations;

监控表压缩

SQL> select table_name,compression,compress_for from user_tables;

TABLE_NAME                     COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
DEPT DISABLED
CT3 ENABLED OLTP
CT2 ENABLED BASIC
CT1 ENABLED BASIC