DB2并行索引的创建与维护的实际操作步骤

数据库
以下的文章主要向大家讲述的是DB2并行索引的创建与维护,我们以图文并存的方式对DB2并行索引的创建与维护有个更详细的解说。

我们今天主要向大家讲述的是DB2并行索引的创建与维护,DB2 UDB for iSeries 能将并行处理用于创建 SQL 索引与用键值标识的逻辑文件(即,CRTLF 命令)。DB2并行索引处理主要是通过如下方式完成的:

在逻辑上,将基本表分成多个数据段,接着每个进程为指定的表段构建索引键值。然后,将由每个并行进程执行的任务合并在一起来完成***的索引结构。

正如您在 图1 中所看到的那样,使用附加的 CPU 资源可以充分减少创建索引所花费的时间。这种能力在非常大型的数据库环境中或者在需要尽快重新创建索引的恢复方案下变得十分重要。

图1. 启用并行性之后极大地改进了索引构建时间

db2并行索引

DB2并行索引维护

索引维护的任务是更改索引键以反映对相关数据库行的更改(通常通过 insert 、 update 或 delete 引起)。如果更改了客户的订单号或者新的客户订单添加到了数据库,则必须更新所有包含订单号列作为键字段的索引。索引的维护(或更新)影响与添加或更改订单相关的整个事务时间。

如果数据库行更改影响多个索引,那么这些索引的维护会串行发生,缺省情况下,每次维护一个索引。首先,订单号更改被传播到 IndexA。对 IndexA 的更改完成之后,订单号被传播到 IndexB,依此类推。

并行索引维护涉及同时维护多个索引。客户的订单号更改可以被同时传播到 IndexA 和 IndexB。这个并发索引维护处理减少了在整个数据库中更改订单号所花的总计时间。DB2并行索引维护用资源换取了时间,提高了给定应用程序或事务的 I/O 速度。

图2 反映了可以通过并行维护多个索引达到的节省时间。在图2中,新行被装入具有多个索引的表中,并行索引维护将装入时间缩短到二到三分之一。

图 2. 当索引维护并行发生时装入时间得到改进

db2并行索引

仅当应用程序处于下列情况时,DB2 UDB for iSeries 才使用DB2并行索引维护:

正在执行 8 行或者更多行的分块插入(或写)。

相关表上定义了两个或两个以上的索引。

一般可以在成批更新和数据仓库装入过程中找到分块插入,所以并行索引维护将在这些环境中产生最显著的性能效果。

技巧:如果装入进程添加到表的新行多于该表行数的 20%,那么通常建议在装入之前先删除索引,然后在装入进程完成之后使用并行处理来重构索引。

【编辑推荐】

  1. 学会DB2数据移动,很简单!
  2. DB2建立database Partition很简单!
  3. 对DB2数据库所支持的外部文件格式的梳理
  4. 对DB2驱动类型的详细讲解
  5. 实现DB2执行计划的更新并不难! 
责任编辑:佚名 来源: 清华大学出版社
相关推荐

2010-08-05 14:34:26

DB2存储过程

2010-08-03 09:32:19

DB2在线备份

2010-07-27 11:20:02

DB2打补丁

2010-08-03 09:44:42

DB2在线增量备份

2010-08-03 13:56:11

DB2表复制

2010-08-05 11:34:01

DB2 代码

2010-08-10 14:02:26

IBM DB2数据复制

2010-08-12 17:36:48

DB2还原某个表空间

2010-08-12 09:06:30

DB2数据库自动备份

2010-08-03 09:49:58

DB2恢复数据库

2010-04-20 11:06:33

Oracle索引

2010-08-04 11:12:09

DB2命令执行

2010-07-30 14:21:10

DB2数据集

2010-08-17 13:25:39

DB2恢复删除表

2010-07-30 13:45:17

执行DB2

2010-07-27 09:59:32

DB2设计

2010-07-30 14:38:25

DB2数据库

2010-08-12 10:22:21

DB2定期自动备份

2010-08-05 14:50:23

DB2动态SQL

2010-08-13 10:13:15

DB2数据复制
点赞
收藏

51CTO技术栈公众号