DB2 large tablespace and data row compression

本文介绍如何使用DB2 version 9.7中的大型表空间和数据行压缩功能来提高存储效率。具体步骤包括创建大型表空间、将数据迁移至新表、启用压缩功能及执行表重组等。此外还提供了评估压缩效果的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看: [url]http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0707schurr/[/url]
利用大型表空间和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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值