学习完命令之后来看一下表重组,然后再看索引重组哈。
表重组的方法
DB2 V8之后有两种不同的表重组的方法:
- 脱机REORG
- 联机REORG
REORG命令的INPLACE选项指定联机重组。如果未指定此选项,那么将运行脱机REORG。
可以通过两种方法来重组表:传统重组(脱机)和原位置重组(联机)。
1).缺省行为是脱机重组。
2).要指定联机重组操作,请使用 REORG TABLE 命令的 INPLACE 选项。
3).另一种方法是,使用联机表移动存储过程进行原位置重组。即使用 ADMIN_MOVE_TABLE 过程以联机方式移动表。
每种方法都有其优点和缺点,下面各节对其进行了概述。选择重组方法时,应考虑哪种方法提供的优点是您优先要解决的方面。例如,如果发生故障时进行恢复比性能更重要,那么最好使用联机重组方法。
脱机重组的优点
此方法具有下列优点:
- 最快速的表重组操作,未包括大对象 (LOB)或长字段数据时尤其如此
- 完成后将生成集群情况完美的表和索引
- 在表之后自动重建的索引已被重组;不需要执行单独的步骤来重建索引
- 使用临时表空间来构建影子副本;这降低了包含目标表或索引的表空间的空间需求
- 使用除集群索引以外的索引对数据进行重新集群
脱机重组的缺点
此方法具有下列缺点:
- 对表的访问受限:在重组操作的排序和构建阶段,只能进行读访问
- 正在重组的表的影子副本需要大量空间
- 对重组过程的控制能力较低;脱机重组操作无法暂停和重新启动
联机重组的优点
此方法具有下列优点:
- 除重组操作的截断阶段以外,允许对表进行全面的访问
- 对重组过程的控制能力较高,该过程以异步方式在后台运行,并可以被暂停、继续或停止;例如,如果正在对表运行大量的更新或删除操作,那么您可以暂停进行中的重组操作
- 重组过程在发生故障后可恢复
- 由于以递增方式处理表,因此降低了工作存储空间需求
- 重组的好处将立即体现,甚至可以在重组操作完成前体现
联机重组的缺点
此方法具有下列缺点:
- 数据或索引的集群情况并不完美,这取决于在重组操作期间访问表的事务的类型
- 与脱机重组操作相比,性能欠佳
- 日志记录需求可能较高,这取决于移动的行数、对表定义的索引数以及那些索引的大小
- 由于此过程执行的是索引维护操作而非重建操作,因此可能需要执行后续的索引重组操作
- 由于联机重新组织无法移动内部记录1,因此空间回收不完整。
注:无法移动内部记录:
表 1. 联机重组与脱机重组的比较
特征 | 脱机重组 | 联机重组 |
---|---|---|
性能 | 快 | 慢 |
完成后数据的集群因子 | 良好 | 非最佳集群 |
并行性(对表的访问) | 从不能访问到只读访问 | 从只读访问到完全访问 |
数据存储空间需求 | 非常大 | 不是非常大 |
日志记录存储空间需求 | 不是非常大 | 非常大 |
用户控制(暂停和重新启动重组过程的能力) | 控制能力较低 | 控制能力较高 |
可恢复性1 | 不可恢复 | 可恢复 |
索引重建 | 进行 | 不进行 |
支持所有类型的表 | 是 | 否 |
是否能够指定除集群索引以外的索引 | 是 | 否 |
是否使用临时表空间 | 是 | 否 |
这里的这个可恢复性指的是如果重组期间down机,那么数据库恢复之后重组是否可以恢复。我是这么理解的哈。
表 2. 联机重组和脱机重组支持的表类型
表类型 | 是否受脱机重组支持 | 是否受联机重组支持 |
---|---|---|
多维集群表 (MDC) | 是1 | 否 |
插入时间集群 (ITC)表 | 是1 | 否 |
范围集群表(RCT) | 否2 | 否 |
追加方式表 | 是 | 否3 |
包含长字段或大对象 (LOB)数据的表 | 是4 | 是5 |
系统目录表:
|
是 | 否 |
注意:
1. 由于通过 MDC 块索引自动维护集群,所以 MDC 表的重组只涉及空间回收。不能指定索引。同样,对于 ITC 表,不能使用集群索引来指定重组。
2. RCT 的范围区域始终保持集群。
3. 可以在将追加方式禁用后执行联机重组。
4. 重组长字段或大对象 (LOB) 数据相当耗时,并且无法提高查询性能;仅当需要回收空间时,才应该重组这些数据。
5. 联机表重组不会对 LONG/LOB 数据进行重组,但会对其他列进行重组。
监视表 reorg 操作的进度
有关当前表重组操作的进度信息将写入历史记录文件。历史记录文件包含每个重组事件的记录。要查看此文件,请对正在重组的表所在的数据库执行