为所有dml压缩数据(oltp压缩)

问题描述:如何在oltp环境中为所有dml语句压缩数据

解决方案:使用oracle oltp压缩

创建表时使用compress for oltp
create table regs(id number,name varchar2(1000)) compress for oltp;

在11.2之前,compress for oltp使用compress for all operation;
compress basic使用compress for direct_load operation代替;

select table_name,compression,compress_for from user_tables where table_name='REGS';

TABLE_NAME              COMPRESS COMPRESS_FOR
------------------------------ --------             ------------
REGS                           ENABLED      OLTP

修改已存在的表为oltp压缩表
alter table regs compress for oltp;
并不影响现有的数据,使用move对已有的数据压缩,同样索引会失效
alter table regs move compress for oltp;

禁用压缩
alter table regs nocompress;
alter table regs move nocompress;

工作原理:
oltp为所有dml语句启用压缩,但并不会马上压缩,而是会在数据块的修改达到一定阀值,成批次压缩,使用内部算法压缩
也可以在表空间级别指定压缩
create tablespace comp_data datafile 'xxx' size 500m extent management local segment space management auto default compress for oltp;

修改一个表空间压缩属性
alter tablespace users default compress for oltp;
select tablespace_name,def_tab_compression,compress_for from dba_tablespaces where tablespace_name='USERS';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值