基于DB2的数据库应用系统的性能优化
2007-05-20 16:20:06 来源:WEB开发网核心提示: 3. 数据条带化如果一个表的记录条数超过一定的规模,那么最基本的查询操作也会受到影响,基于DB2的数据库应用系统的性能优化(2),需要将该表根据日期水平划分,把最近、最经常用的数据和历史的、不经常用的数据划分开来,或是根据地理位置、部门等等进行划分,可以提高效率,●在条件表达式中经常用到的
3. 数据条带化
如果一个表的记录条数超过一定的规模,那么最基本的查询操作也会受到影响,需要将该表根据日期水平划分,把最近、最经常用的数据和历史的、不经常用的数据划分开来,或是根据地理位置、部门等等进行划分。还有一种划分方式――垂直划分,即把一个属性列很多的表分割成好几个小表,比如把经常用到的属性放在一个表里,不经常用到的属性放在另一个表里,这样可以加快表的扫描,提高效率。
4. 选择数据类型
对每一属性选择什么样的数据类型很大程度上依据表的要求,但是在不违背表要求的前提下,选择适当的数据类型可以提高系统性能。比如有text列存放一本书的信息,用BLOB而不是character(1024),BLOB存放的是指针或者文件参照变量,真正的文本信息可以放在数据库之外,从而减少数据库存储空间,使得程序运行的速度提高。DB2提供了UDT(User Defined Datatypes)功能,用户可以根据自己的需要定义自己的数据类型。
5. 选择索引
索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。使用索引可以快速、直接、有序的存取数据。索引的建立虽然加快了查询,另一方面却将低了数据更新的速度,因为新数据不仅要增加到表中,也要增加到索引中。另外,索引还需要额外的磁盘空间和维护开销。因此,要合理使用索引:
●在经常进行连接,但是没有指定为外键的属性列上建立索引。
●在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。按索引来排序或分组,可以提高效率。
●在条件表达式中经常用到的不同值较多的列上建立检索,在不同值少的列上不要建立索引。
更多精彩
赞助商链接