表压缩的用法(技术交流)

我现在有个表,已经500G了,现在想要启用压缩,让这个表缩小下空间?
alter table 。。 compress这个操作可行吗?以下几个问题
1:对于新插入的数据,是压缩的吗?insert方式增加、load方式增加都会压缩吗?
2:对于历史数据能压缩吗?难道做下reorg就可以吗?
3:能在线做吗?需要表空间有剩余500g吗?
参与11

10同行回答

新数科技新数科技  IT顾问 , 北京新数科技有限公司
1. 后面进来的数据都是会压缩的2.  经典行压缩是基于表及的压缩,压缩率50%左右3. 自适应压缩是page级的压缩,需要基于经典行压缩再次压缩,压缩率可以到70%左右。显示全部
1. 后面进来的数据都是会压缩的
2.  经典行压缩是基于表及的压缩,压缩率50%左右
3. 自适应压缩是page级的压缩,需要基于经典行压缩再次压缩,压缩率可以到70%左右。收起
IT咨询服务 · 2015-03-22
浏览1325
drdb2drdb2  系统工程师 , se
回复 7# wangzk0206 http://www-01.ibm.com/support/kn ... c/doc/c0052331.html"Table-level compression dictionary creationTable-level compression dictionaries for tables that you enable for adaptive or classic row compression can be built automatically ...显示全部
回复 7# wangzk0206

http://www-01.ibm.com/support/kn ... c/doc/c0052331.html
"
Table-level compression dictionary creation

Table-level compression dictionaries for tables that you enable for adaptive or classic row compression can be built automatically or manually. Tables that you enable for adaptive compression include page-level data dictionaries, which are always automatically created.

    Automatic dictionary creation
Starting with DB2® Version 9.5, a table-level compression dictionary is created automatically if each of the following conditions is met:

    You set the COMPRESS attribute for the table by using the CREATE TABLE or ALTER TABLE statement with the COMPRESS YES ADAPTIVE or COMPRESS YES STATIC clause.
    A table-level compression dictionary does not already exist for the table.
    The table contains sufficient data for constructing a dictionary of repeated data.收起
互联网服务 · 2015-03-17
浏览1299
drdb2drdb2  系统工程师 , se
回复 4# wangzk0206 inplace reorg is allowed, but not preferredoffline reorg is preferred显示全部
回复 4# wangzk0206

inplace reorg is allowed, but not preferred
offline reorg is preferred收起
互联网服务 · 2015-03-17
浏览1291
苏州易博创云苏州易博创云  CTO , 苏州易博创云网络科技有限公司
参考二楼的答案。显示全部
参考二楼的答案。收起
IT咨询服务 · 2015-03-16
浏览1278
wangzk0206wangzk0206  数据库管理员 , scrcu
回复 5# 张东焕     不是有一个压缩字典的说法吗?我如果不做离线reorg,怎么得到这个压缩字典哪?如果没有压缩字典是不是不能对新插入的行进行压缩啊?    自适应压缩和经典行压缩,有什么影响吗?...显示全部
回复 5# 张东焕


    不是有一个压缩字典的说法吗?我如果不做离线reorg,怎么得到这个压缩字典哪?如果没有压缩字典是不是不能对新插入的行进行压缩啊?

    自适应压缩和经典行压缩,有什么影响吗?收起
银行 · 2015-03-13
浏览1302
李英杰李英杰  数据库技术专家 , 烁林软件
DB2 10.5版本支持自适应压缩,据我所知,必须做离线的REORG,这个可以从REORG的命令上进行推断,REORG不支持RESETDICTIONARY和INPLACE同时使用显示全部
DB2 10.5版本支持自适应压缩,据我所知,必须做离线的REORG,这个可以从REORG的命令上进行推断,REORG不支持RESETDICTIONARY和INPLACE同时使用收起
系统集成 · 2015-03-13
浏览1285
张东焕张东焕  技术总监 , IBM官方授权讲师
要在现有表中启用压缩,请执行以下操作:1、发出 ALTER TABLE 语句。如果要使用自适应压缩,请包括 COMPRESS YES ADAPTIVE 子句。如果要使用经典行压缩,请包括 COMPRESS YES STATIC 子句。如果要使用值压缩,请为包含要压缩的值的每个列添加 ACTIVATE VALUE COMPRESSION 子句。如...显示全部
要在现有表中启用压缩,请执行以下操作:

1、发出 ALTER TABLE 语句。
如果要使用自适应压缩,请包括 COMPRESS YES ADAPTIVE 子句。
如果要使用经典行压缩,请包括 COMPRESS YES STATIC 子句。
如果要使用值压缩,请为包含要压缩的值的每个列添加 ACTIVATE VALUE COMPRESSION 子句。如果要压缩包含系统缺省值的列中的数据,还应包括 COMPRESS SYSTEM DEFAULT 子句。
您后续追加、插入、装入或更新的所有行将使用新的压缩格式。
2、可选: 要立即对表的所有现有行应用压缩,请使用 REORG TABLE 命令来执行表重组。如果此时不对所有行应用压缩,那么直到下一次您更新未压缩行或下一次运行 REORG TABLE 命令,这些行才会以新压缩格式存储。收起
IT咨询服务 · 2015-03-13
浏览1354
wangzk0206wangzk0206  数据库管理员 , scrcu
必须做离线reorg吗?在线reorg可以吗?显示全部
必须做离线reorg吗?在线reorg可以吗?收起
银行 · 2015-03-13
浏览1283
wangzk0206wangzk0206  数据库管理员 , scrcu
回复 2# 北京鼎新智联     我的数据库是10.5版本。显示全部
回复 2# 北京鼎新智联


    我的数据库是10.5版本。收起
银行 · 2015-03-13
浏览1266
李英杰李英杰  数据库技术专家 , 烁林软件
对于你提出的问题,具体得看你数据库的版本,每个版本的压缩方式是不一样的。alter table 。。 compress这个操作当然可以,针对你提出的三个问题:1、新插入的数据在9.7之前的版本是不会压缩的,10以后版本压缩改为自适应压缩,新增加数据也会压缩,而且支持索引压缩。2、对表中原有的...显示全部
对于你提出的问题,具体得看你数据库的版本,每个版本的压缩方式是不一样的。
alter table 。。 compress这个操作当然可以,针对你提出的三个问题:
1、新插入的数据在9.7之前的版本是不会压缩的,10以后版本压缩改为自适应压缩,新增加数据也会压缩,而且支持索引压缩。
2、对表中原有的数据只能通过reorg进行压缩,在reorg压缩的过程中创建压缩字典。
3、不需要表空间有剩余的500G空间,需要压缩后的空间的大小即可,如原来500G,压缩后100G,那剩余100G空间就够了,需要对表做离线的reorg才能更新压缩字典。收起
系统集成 · 2015-03-13
浏览1313

提问者

wangzk0206
数据库管理员scrcu

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-03-13
  • 关注会员:1 人
  • 问题浏览:6975
  • 最近回答:2015-03-22
  • X社区推广