IBM Knowledge Center
IBM Knowledge Center
IBM Knowledge Center
IBM Knowledge Center
http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.perf.doc/doc/c0005406.html?lang=zh
表重组
对表数据进行大量更改之后,逻辑上按顺序排列的数据可能会驻留在非顺序数据页中,从而导致数据库管理器必须执行附加的读操作才能访问数据。此外,如果已经删除了许多行,那么还需要执行其他读操作。在这种情况下,您可以考虑重组表以使其与索引匹配并回收空间。
您还可以重组系统目录表。
由于重组表的时间通常比更新统计信息的时间长,因此您可以执行 RUNSTATS 命令以刷新数据的当前统计信息,然后重新绑定应用程序。如果刷新的统计信息并未提高性能,那么重组可能会有所帮助。
下列因素可能表明需要重组表:
- 对查询所访问的表进行了大量的插入、更新和删除活动。
- 对于使用集群率较高的索引的查询,其性能发生显著变化。
- 执行 RUNSTATS 命令以刷新表统计信息后,性能未得到改善。
- REORGCHK 命令的输出表明需要重组表。
注: 借助 DB2? V9.7 FP1 及更高版本的发行版,通过重组特定数据分区的数据,只具有分区索引(由系统生成的 XML 路径索引除外)的数据分区表就可以获得更高的数据可用性。分区级别重组将对所指定的数据分区执行表重组,同时使该表的其他数据分区保持可访问。对分区表执行 REORGCHK 命令所获得的输出包含有关执行分区级别重组的统计信息和建议。
可以对数据分区表发出 REORG TABLE 命令和 REORG INDEXES ALL 命令,以便同时重组不同的数据分区或者重组分区中的分区索引。同时重组不同的数据分区或者重组分区的分区索引时,用户可以访问不受影响的分区,但是无法访问受影响的分区。必须满足下列所有条件,才能发出同时对同一个表运行的 REORG 命令:
- 每个 REORG 命令必须对 ON DATA PARTITION 子句指定不同的分区。
- 每个 REORG 命令必须使用 ALLOW NO ACCESS 方式来限制访问数据分区。
- 如果发出 REORG TABLE 命令,那么分区表必须只有分区索引。不能对表定义非分区索引(由系统生成的 XML 路径索引除外)。
为重组表,您可以使用 IBM? Data Studio V3.1 或更高版本中提供的任务助手。任务助手可以指导您执行以下过程:设置选项、查看自动生成的命令以执行任务以及运行这些命令。有关更多详细信息,请参阅使用任务助手管理数据库。