DB2 9.7:利用自动维护策略自动回收多维集群(MDC)表中的空间
2010-04-13 00:00:00 来源:WEB开发网在随后的实例演示中我们将主要使用表空间 tbs1,查看该表空间的信息可以看到 Extent size (pages) = 32 即每个扩展数据块大小为 32 个数据页,当前空闲的数据页总数为 2432 。
手动释放 MDC 中的空间
在探讨自动回收之前我们先来讨论一下手动回收。上文中提到,在 DB2 9.7 之前只能在完全脱机的情况进行重组,DB2 9.7 中的 REORG TABLE 命令中增加了 RECLAIM EXTENTS ONLY 选项,可以支持联机对 MDC 进行重组以释放扩展数据块,该选项缺省访问权限为写访问权限,还可选择读访问权限和无访问权限来控制并行访问。
创建 MDC 表并插入、删除数据
创建一个简单的 MDC 表 mdctab,这是一个只有两列的非常简单的表,只有一个维度 c1,具有相同的 c1 值的行将聚集在连续的磁盘空间上。创建表的命令如清单 2 所示。
清单 2. 创建 MDC 表
db2 "create table mdctab (c1 int, c2 int) organize by (c1) in tbs1 "
DB20000I The SQL command completed successfully.
db2 list tablespaces show detail
< 为了便于阅读删除了执行结果的其他部分 >
Used pages = 288
Free pages = 2240
建表之后查看了表空间 tbs1 的使用情况,可以看到该表使用了一个扩展数据块作为保留扩展数据块,空闲的页还有 2240 个。接着向该 MDC 表插入数据,并及时检查表空间的使用情况,如清单 3 所示。
清单 3. 向 MDC 插入数据
db2 "insert into mdctab values(1,1)"
DB20000I The SQL command completed successfully.
db2 list tablespaces show detail
Used pages = 320
Free pages = 2208
db2 "insert into mdctab values(2,2),(3,3),(4,4)"
DB20000I The SQL command completed successfully.
db2 list tablespaces show detail
Used pages = 416
Free pages = 2112
更多精彩
赞助商链接