列级压缩数据(混合列式压缩)

问题描述:oracle的exadata存储支持混合列式压缩,能够提高io性能,减少select读取的块数

解决方案:创建表时通过compress for query或compress for archive子句
create table f_regs(reg_id number,reg_desc varchar2(1000)) compress for query;
也可以指定压缩级别
create table f_regs(reg_id number,reg_desc varchar2(1000)) compress for query high;

query的压缩级别默认是high,archive的压缩级别默认是low
select table_name,compression,compress_for from user_tables;

如果在exadata之外的环境使用混合列式压缩会报错:
SQL> create table f_regs(reg_id number,reg_desc varchar2(1000)) compress for query;
create table f_regs(reg_id number,reg_desc varchar2(1000)) compress for query
*
ERROR at line 1:
ORA-64307: 只有位于 Exadata 存储上的表空间才支持混合柱状压缩

工作原理:
exadata是oracle的高性能数据库服务器,从11gr2开始支持混合列式压缩,有四个级别,其压缩水平从低到高为:
comperss for query low
comperss for query high
compress for archive low
compress for archive high

compress for query适用于不经常更新的堆组织表,这种压缩查询性能最佳,更适用于sdd和数据仓库
compress for archive有最大程度的压缩比,适用于长期保存并且不会更新的数据
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值