DB2数据库设计和最高性能原则
2007-05-20 16:18:01 来源:WEB开发网核心提示: 更快的访问被频繁访问的数据:如果分区索引能够将更多的频繁访问的行从剩余的表中分离出来,然后将那些数据置于一个它自己的,DB2数据库设计和最高性能原则(9),并且应用更高速DASD设备的分区之内, 一般而言,压缩具有较好的效果,对于很小的表,表越大,就越应该将其创建为一个分区的表
更快的访问被频繁访问的数据:如果分区索引能够将更多的频繁访问的行从剩余的表中分离出来,然后将那些数据置于一个它自己的,并且应用更高速DASD设备的分区之内。
一般而言,表越大,就越应该将其创建为一个分区的表。但是也有一些实际例子表明为小表创建分区表空间是有利的。当查找表用于连接其他大分区表空间时,通过将查找表分区,你能够使并行性在连接中最大化。
当你在连接谓词中利用分区方法时,需要考虑一个决定性的因素。被连接在分区方法上的表应该具有相同的分区数,并且应该设定为相同的值。
数据压缩
DB2提供了压缩表空间或分区内数据的功能。通过指定CREATE TABLESPACE(创建表空间)语句中的 COMPRESS YES(压缩许可)选项,之后在表空间上同时执行LOAD或REORG实用工具集,即可完成该功能。数据的压缩是通过用更短的串来替换频繁出现的字符串实现的。系统还创建了一个字典,包含了原始字节串和它们的替代串之间的映射信息。
一定数量的CPU资源被用于在执行数据存储对其进行压缩,之后,当外部存储设备读取时,数据又被解压缩。然而,数据压缩也能够提供性能方面的好处,因为更多的数据存储在更小的空间内(在DASD上和缓冲池中);同未经压缩的数据相比,这样可以产生更少的同时读取、更小的I/O等。
接下来是当试图决定是否压缩一个表空间或分区时,需要考虑的一些事情:
行的长度:行越长(尤其是在接近页的尺寸时),压缩的有效性就越低。DB2的行不能够跨页,当一页上有多于一行的情况时,你也许不能获得足够的压缩。
表的尺寸:对于较大的表,压缩具有较好的效果。对于很小的表,压缩字典的大小(8KB到64KB)可能会抵消压缩节省下的所有空间。
更多精彩
赞助商链接