DB2数据库设计:取得最佳性能的准则
2007-05-20 16:16:06 来源:WEB开发网而将一个表反规范化(de-normalize)的意思是,违反该表之前遵从的一种或多种范式,从而修改规范化的设计。这种反标准化的过程常常是由于性能的原因而进行的。在大多数以关系数据库为主题的书籍当中,都可以找到关于规范化的更详细的信息。
4. DB2表空间类型
在一个定义好的DB2数据库中,实际的表必须在称作表空间(table space)的DB2对象中创建。用户可以在DB2中定义4种不同的表空间:
1) 简单表空间:简单表空间可以包含一个以上的DB2表。这种表空间由页构成,每个页可以包含该表空间中定义的任何表中的行。
2) 分段表空间:分段表空间可以包含一个以上的DB2表。这种表空间由页组构成,页组被称作段(segment)。每个段只能包含该表空间中定义的一个表中的行。
3) 分区表空间:分区表空间只能包含一个表。根据分区(partitioning)索引的键范围,这种表空间被分成数个分区。每个分区都被看作一个独立的实体,允许SQL和DB2实用程序对其进行并发处理。
4) LOB表空间:LOB 表空间只用于LOB(大型对象)数据。LOB包括三种数据类型:BLOB(二进制大型对象)、CLOB(字符大型对象)和DBCLOB(双字节字符大型对象)。
四、表空间与表设计方面的考虑
1. 记录大小和页宽
固定长度的记录要优于可变长度的记录,因为DB2代码专门为处理固定长度的记录进行优化。如果记录是固定长度的,那么就无需将其从存储它的初始页面转移到其他地方。而对于可变长度的记录,其长度可能会变得不再适合初始页,因此必须将其转移到其他页。之后,每当需要访问该记录时,就必须发生额外的页引用。DB2 UDB V8中的一种新特性允许在需要的时候修改(ALTER)某一列的宽度,这样一来,即使您不能确定将来数据长度的增长情况,也不再需要创建可变长度的记录。
更多精彩
赞助商链接