ORACLE表压缩技术在电信CRM系统的使用

ORACLE表压缩技术在CRM系统的使用

 

 

1. 普通表的压缩

Oracle 11g中表压缩

Oracle 9i开始引入表压缩技术,主要用于数据仓库项目节约存储空间,在11g中它已经成为一个主流特性,在OLTP数据库上的表现也让人非常满意了,除了节约存储空间外,压缩可导致I/O性能增强,减少缓冲区内存占用,使用这些优点是要付出代价的,因为压缩引起CPU开销较大,因此它不是在任何情况下都是有益 的。

压缩子句可以在表空间,表或分区一级使用下面的选项指定:

NOCOMPRESS - 表或分区不压缩,当没有具体指定压缩子句时这是默认行为。

COMPRESS - 这个选项被认为适合于数据仓库系统,只在直接路径插入过程中在表或分区上启用压缩。

COMPRESS FOR DIRECT_LOAD OPERATIONS - 这个选项与COMPRESS关键字有同样的影响。

COMPRESS FOR ALL OPERATIONS - 这些选项被认为适合于OLTP系统,如名字暗示的那样,这些选项为所有操作启用了压缩,包括普通的DML语句,这个选项需要COMPATIBLE初始化参数设置为11.1.0或更高(有一些使用上影响,一般不推荐)

1.1语法举例

修改表空间默认压缩属性,使得其上建立的表都默认为compress

alter tablespace TBS_DATA_GC default compress ;

alter tablespace TBS_DATA_GC default nocompress ;

建压缩表:

create table gg.t1  (....) compress ;

create table gg.t1  compress as select * from gg.t2 ;

修改普通表为压缩表:

alter table 表名 move compress ;

alter table 分区表名 move partition 分区名 compress;

1.2测试效果

使用历史库上prod_inst_his分区表做实验,步骤:

(1) 导出分区表结构,后面测试建立一样的表结构.

(2) alter tablespace TBS_CRM_GC default compress

(3) 建表语句create table ..... tablespace TBS_CRM_GC as select * from xxx

(4) 分别记录压缩与非压缩表的测试数据

操作       类型

空间消耗

创建时间

count读取时间

非压缩表

115GB

1698s

168.172s

压缩表

69GB

1976s

111.859s

 

1.3总结

(1)压缩率:与表数据有关,CRM典型大表大约有50%-60%的压缩率,可以极大节约空间

(2)优势:节约大量空间,提高io效率

(3)适用:归档数据,备用数据,只读数据,批量append INSERT的数据

(4)成果:CRM1.0数据查询库上完全使用,空间消耗由原始6TB降到3.6TB,效果明显.

(5)实践:建议在历史库上对历史归档数据启用表压缩,只需要在表空间属性上修改,并且重建表即可生效,无需修改现有脚本.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9363164/viewspace-1356674/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9363164/viewspace-1356674/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值