海量数据环境下可以将不需要修改的数据所在的分区属性设置为压缩,然后通过move partition方式对分区的数据进行压缩,这样即可以提高查询效率又可以节省空间。
创建分区表:
createtable t1 (idint,timedate) partitionbyrange(time)
(
partition p1 valueslessthan(to_date('2011-01','yyyy-mm')) compress,
partition p2 valueslessthan(to_date('2011-02','yyyy-mm')) COMPRESS,
partition p3 valueslessthan(MAXVALUE)
);
insertinto t1 selectobject_id,created-365from dba_objects;
加入 p1p2分区的数据已经是不再修改的历史数据了,实际上这时候的数据并没有被压缩
alter table t1 move partition p1
发现
对p1分区进行压缩后空间明显减少。