WEB开发网
开发学院数据库DB2 DB2数据库设计:取得最佳性能的准则 阅读

DB2数据库设计:取得最佳性能的准则

 2007-05-20 16:16:06 来源:WEB开发网   
核心提示: 一个页中所能存放的记录的数目也是值得考虑的一个方面,DB2为页宽提供了很多选项(4KB、8KB、16KB和32KB),DB2数据库设计:取得最佳性能的准则(7),一开始的时候,可以选择默认选项(4KB),这是通过 连接多个表来完成的,连接操作可能要消耗大量的资源和时间,如果行的长度很小,或

一个页中所能存放的记录的数目也是值得考虑的一个方面。DB2为页宽提供了很多选项(4KB、8KB、16KB和32KB)。一开始的时候,可以选择默认选项(4KB),如果行的长度很小,或者对数据的访问基本上是随机的,则更应该选择这一选项。不过,在有些情况下,则需要考虑使用更大的页宽。如果一个表中各行的长度要大于4KB,那么就需要使用更大的页宽,因为DB2不支持跨页(spanned)记录。

还有一些情况下,对于一条固定长度的记录,其总长度可能刚好比4KB的一半大一点点,这时一个页只能容纳一条记录。对于刚好比页宽的 1/3、1/4 大一点点的记录,情形也是类似的。这种设计不仅浪费DASD空间,而且,对于很多DB2操作,还需要消耗更多的资源。因此,对于这一类的记录,应该考虑使用更大的页宽,这样浪费的空间相对要少一些。

其他可能的页宽是8KB、16KB和32KB。页宽不是在CREATE TABLE语句中直接指定的。相反,表的页宽是由相应的缓冲池的页宽来确定的,这个缓冲池也就是为包含该表的表空间所指定的缓冲池。要了解更多细节,请参考DB2 SQL Reference手册中的CREATE TABLESPACE语句。

2. 反规范化方面的考虑

逻辑数据模型是数据的理想蓝图。物理数据模型才是对数据的现实的实现。规范化只关注数据的意义,而没有考虑对于访问数据的应用程序的性能需求。完全规范化的数据库设计在性能方面要受到质疑。

这种性能问题的最常见的例子是连接(join)操作。通常,规范化过程最终将相关的信息放入不同的表中。于是应用程序需要从多个这样的表中访问数据。关系数据库为SQL语句提供了从一个以上的表中访问信息的能力,这是通过 连接多个表来完成的。连接操作可能要消耗大量的资源和时间,这取决于表的数量以及这些表各自的长度。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:DB 数据库 设计

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接