并行方式处理DB2 for iSeries索引
2007-05-20 16:17:14 来源:WEB开发网核心提示: 如果数据库行更改影响多个索引,那么这些索引的维护会串行发生,并行方式处理DB2 for iSeries索引(2),缺省情况下,每次维护一个索引,如果该系统值被设置成 *NONE 以外的其它值,那么在维护和构建索引时 DB2 UDB 将使用并行处理,首先,订单号更改被传播到 IndexA
如果数据库行更改影响多个索引,那么这些索引的维护会串行发生,缺省情况下,每次维护一个索引。首先,订单号更改被传播到 IndexA。对 IndexA 的更改完成之后,订单号被传播到 IndexB,依此类推。
并行索引维护涉及同时维护多个索引。客户的订单号更改可以被同时传播到 IndexA 和 IndexB。这个并发索引维护处理减少了在整个数据库中更改订单号所花的总计时间。并行索引维护用资源换取了时间,提高了给定应用程序或事务的 I/O 速度。
图2 反映了可以通过并行维护多个索引达到的节省时间。在图2中,新行被装入具有多个索引的表中,并行索引维护将装入时间缩短到二到三分之一。
图 2. 当索引维护并行发生时装入时间得到改进
仅当应用程序处于下列情况时,DB2 UDB for iSeries 才使用并行索引维护:
正在执行 8 行或者更多行的分块插入(或写)。
相关表上定义了两个或两个以上的索引。
一般可以在成批更新和数据仓库装入过程中找到分块插入,所以并行索引维护将在这些环境中产生最显著的性能效果。
技巧:如果装入进程添加到表的新行多于该表行数的 20%,那么通常建议在装入之前先删除索引,然后在装入进程完成之后使用并行处理来重构索引。
启用并行处理
在安装 DB2 SMP 功能部件之后,有几种激活并行处理的不同方法,以便可以执行并行索引构建和维护。
在系统级别
缺省情况下,通过 QQRYDEGREE 系统值,将并行处理量控制在系统范围的级别。如果该系统值被设置成 *NONE 以外的其它值,那么在维护和构建索引时 DB2 UDB 将使用并行处理。 CHGSYSVAL (更改系统值)命令可用于更改 QQRYDEGREE 系统值的设置。您可以指定下面这些值来启用并行索引处理:
更多精彩
赞助商链接