设为首页 收藏本站
查看: 1247|回复: 0

[经验分享] DB2 large tablespace and data row compression

[复制链接]

尚未签到

发表于 2016-11-15 08:46:04 | 显示全部楼层 |阅读模式
查看: http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0707schurr/
利用大型表空间和db2 version9.7 data row compression,每页可以存储更多的行,节省了磁盘空间。
DB2 中的行压缩特性可用于在表一级节省存储空间。其优点是节省容器空间,缩小备份镜像(从而减少备份时间),以及减少缓冲池中的页活动。可以为单个表激活行压缩。 进行行压缩时,会创建一个包含可重用模式的字典。对于这些模式,会存储一个指针。通过使用 DB2 INSPECT 命令可以估计每个表的压缩率。
1. 创建大型表空间
CREATE LARGE TABLESPACE LARGEGEHGAL32 PAGESIZE 32 K MANAGED BY DATABASE USING ( FILE 'C:\DB2\NODE0000\SQL00001\largegehgal32' 20000 ) BUFFERPOOL IBMDEFAULT32K

2. 创建表并在大型表空间中
CREATE TABLE TEST_EXCEPTION_MESSAGE like EXCEPTION_MESSAGE in LARGEGEHGAL32

3. 打开Command Line Processor(命令行处理器),把EXCEPTION_MESSAGE表中的数据insert into TEST_EXCEPTION_MESSAGE
DECLARE c1 CURSOR FOR SELECT * FROM EXCEPTION_MESSAGE
LOAD FROM c1 OF CURSOR INSERT INTO TEST_EXCEPTION_MESSAGE

4. 开启表的压缩功能
ALTER TABLE TEST_EXCEPTION_MESSAGE COMPRESS YES

5. 扫描表并创建对应的压缩字典,并执行实际的表重组,从而压缩数据(每个表都有自己的压缩字典,新插入的数据也会继续被压缩):
REORG TABLE TEST_EXCEPTION_MESSAGE resetdictionary

6. 在压缩后,我们通常想知道表压缩后能节省多少空间,可以利用RUNSTATS命令来实现:
RUNSTATS ON TABLE GEH_ADMIN.TEST_EXCEPTION_MESSAGE
SELECT NAME, COMPRESSION, AVGROWSIZE, PCTPAGESSAVED, PCTROWSCOMPRESSED, AVGROWCOMPRESSIONRATIO, AVGCOMPRESSEDROWSIZE FROM SYSIBM.SYSTABLES WHERE NAME = 'TEST_EXCEPTION_MESSAGE'

7. 压缩表后,查看使用的页数
SELECT SUBSTR(a.tabname,1,10) AS table, PAGESIZE, b.CARD, b.npages , CASE WHEN (b.NPAGES  > 0) THEN (b.CARD / b.NPAGES) ELSE -1 END AS ROWS_PER_PAGE, SUM(AVGCOLLEN) AVG_ROW_SIZE FROM SYSCAT.COLUMNS a, SYSCAT.TABLES b, SYSCAT.TABLESPACES c
WHERE a.tabschema = b.tabschema AND a.tabname = b.tabname AND b.tbspaceid = c.tbspaceid AND a.tabname = 'TEST_EXCEPTION_MESSAGE' GROUP BY a.tabschema, a.tabname, pagesize, card, npages

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-300522-1-1.html 上篇帖子: DB2自动增长主键的方法 下篇帖子: DB2快照函数全解析经典版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表