DB2数据库设计:取得最佳性能的准则
2007-05-20 16:16:06 来源:WEB开发网核心提示: 5. 数据压缩 DB2提供了压缩一个表空间或分区中的数据的能力,这是通过在CREATE TABLESPACE语句中指定COMPRESS YES选项,DB2数据库设计:取得最佳性能的准则(10),然后对表空间执行LOAD或REORG实用程序来实现的,通过用较短的字符串替换经常出现的长字符串,
5. 数据压缩
DB2提供了压缩一个表空间或分区中的数据的能力。这是通过在CREATE TABLESPACE语句中指定COMPRESS YES选项,然后对表空间执行LOAD或REORG实用程序来实现的。通过用较短的字符串替换经常出现的长字符串,可以压缩数据。这时会建立一个字典,其中包含了映射原始的长字符串与它们的替换值的信息。
在数据被存储之前压缩数据,以及在从外部存储设备读出数据时将数据解压,这都需要使用一定的CPU资源。但是,数据压缩也可以为性能带来好处,因为可以在更少的空间(包括DASD和缓冲池中的空间)中存储更多的数据,与未压缩的数据相比,这样可以减少同步读,减少I/O等。
在决定是否压缩一个表空间或分区时,要考虑下面一些事情:
1) 行的长度:行的长度越大(尤其是它接近页宽时),压缩的效率就越低。在DB2中,行不能跨页,您可能无法实现足够的压缩来使一页可以容纳多行。
2) 表的长度:对于更大的表空间,压缩更为有效。对于非常小的表,压缩字典的大小(8KB到64KB)有可能会抵消掉通过压缩所节省出来的空间。
3) 数据中的模式:对于特定的表空间或分区,数据中重复出现的模式的出现频率将决定压缩的效果。有大量重复字符串的数据有巨大的压缩潜力。
4) 对压缩的估计:DB2提供了一个独立的实用程序DSN1COMP,通过执行该实用程序可以判断压缩数据的效果。要了解关于运行该实用程序的更多信息,请参考DB2 Utilities Guide and Reference手册。
5) 处理成本: 压缩和解压数据时,要消耗一定的CPU资源。与使用DB2软件模拟程序相比,使用IBM的同步数据压缩硬件可以大大减少所消耗的CPU资源(当DB2启动时,它将判断硬件压缩特性是否可用)。
更多精彩
赞助商链接