阅读原文请点击
摘要:学习完命令之后来看一下表重组,然后再看索引重组哈。 表重组的方法 DB2 V8之后有两种不同的表重组的方法: 脱机REORG 联机REORG REORG命令的**INPLACE选项**指定联机重组。
学习完命令之后来看一下表重组,然后再看索引重组哈。
表重组的方法
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
系统目录表:
SYSIBM.SYSCODEPROPERTIES
SYSIBM.SYSDATATYPES
SYSIBM.SYSNODEGROUPS
SYSIBM.SYSROUTINES
SYSIBM.SYSSEQUENCES
SYSIBM.SYSTABLES
SYSIBM.SYSVARIABLES是否
注意:
1. 由于通过 MDC 块索引自动维护集群,所以 MDC 表的重组只涉及空间回收。不能指定索引。同样,对于 ITC 表,不能使用集群索引来指定重组。
2. RCT 的范围区域始终保持集群。
3. 可以在将追加方式禁用后执行联机重组。
4. 重组长字段或大对象 (LOB) 数据相当耗时,并且**无法提高查询性能**;仅当需要回收空间时,才应该重组这些数据。
5. 联机表重组不会对 LONG/LOB 数据进行重组,但会对其他列进行重组。