|
效果是不一样的.
只有direct load的表数据才会被压缩.
direct load的方式有一下几种.
1. create table as select
2. insert /*+append*/ into ..
3. sqlldr direct=y
其他方式插入的数据不会压缩数据.
SQL> create table t nologging compress as select * from dba_objects;
Table created.
SQL> create table t1 nologging compress as select * from dba_objects where 1=0;
Table created.
SQL> insert into t1 select * from dba_objects;
30090 rows created.
SQL> commit;
Commit complete.
SQL> select segment_name,bytes,blocks
2 from user_segments
3 where segment_name in ('T','T1')
4 /
SEGMENT_NAME
-------------------------------------------------------------------------------
BYTES BLOCKS
---------- ----------
T
2097152 512
T1
3145728 768
两个表的大小差别还是挺大的
SQL> select count(*) from t
2 union all
3 select count(*) from t1
4 /
COUNT(*)
----------
30089
30090
SQL> |
|