在 DB2 Database Partitioning Feature 环境中选择分区键
2010-09-09 00:00:00 来源:WEB开发网并置
一个查询内的两个合并表之间的并置意味着两个表的匹配行将总是处于相同的数据库分区内。如果这种合并不加以并置,数据库管理器就必须通过网络将记录从一个数据库分区运送至另一个分区,这样一来,就会导致性能的不甚理想。为了数据库管理器能够使用并置合并,有一些条件必须要满足:
被合并的表必须在相同的数据库分区组内定义。
每个被合并的表的分区键都必须匹配。换言之,它们必须包含相同数量和顺序的列。
对于被合并的表的分区键内的每列,必须存在一个同等连接的谓语。
如果基于查询工作负载选择一个分区键,那么此分区键通常应该包含一个合并列或常被用于很多查询的一组列。
虽然经并置的表通常都会获得最健壮的性能,但是在实际中,不太可能对所有表都进行并置。此外,基于为数不多的 SQL 语句选择分区键也不是一个好的做法。在决策支持的环境中,查询通常无法预测。在这种环境下,应该查看数据模型来决定分区键的最佳选择。这个数据模型以及表间的业务关系可以提供一种比 SQL 语句更为稳定的选择分区键的方式。
在选择分区键时,可以画出一个数据模型,用来显示数据库内的这些表之间的关系。标示出频繁合并和常用表。基于数据模型,选择那些有利于频繁合并且基于主键的分区键。理想情况下,还应该并置频繁合并的表。改善合并并置的另一个策略是复制每个数据库分区上的较小的表。
并置与数据平衡间的对比
在某些情况下,您可能会发现根据并置和数据平衡选择恰当的分区键的准则会相互矛盾。在这些情况下,建议您基于数据平衡选择分区键。
验证现有表上的分区键
如果想要验证分区键的好坏,可以查看工作负载内查询是否已经被并置以及数据是否已经被很好地平衡。随着时间的推移,因数据的改变,旧的分区键有可能会不如之前那么好。可以通过查看由 DB2 Explain 生成的访问计划来检查查询合并的并置情况。如果查询没有经过并置,通常会看到 TQUEUE(表查询)操作符送到这个合并,如图 1 所示:
Tags:DB Database Partitioning
编辑录入:爽爽 [复制链接] [打 印]- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
- ››DB2 存储过程中如何使用 Optimization Profile
- ››DB2 pureScale 新特性 -- Member Restart
- ››DB2 Express-C 9.7.2 新增特性
- ››DB2 9.7 新特性 - 内联 LOB 的使用
- ››DB2 for Linux, UNIX, and Windows 的锁事件,第 ...
更多精彩
赞助商链接