DB2 表空间注意事项


确定如何将表映射至表空间时,应考虑表的分布情况、表数据的数量和类型以及管理问题。

表的分布

至少应该确保选择的表空间位于具有您想要的分布的数据库分区组中。

表中的数据量

如果计划在一个表空间中存储许多小表,那么考虑使用 SMS 充当该表空间。对于 小表,DMS 表现在 I/O 和空间管理效率方面的优点就没有那么重要。SMS 的优点(仅在需要时使用)却对小表更具吸引力。如果一个表较大或者您需要更快地访问表中的数据,应考虑具有较小扩展数据块大小的 DMS 表空间。

您可能希望对每个非常大的表都使用单独的表空间,而将所有的小表组合在单个表空间中。这种分隔还允许您根据表空间的使用选择适当的扩展数据块大小。

表数据的类型

例如,有的表可能包含不经常使用的历史记录数据;最终用户可能愿意接受较长的响应时间,来等待对此数据执行的查询。在这种情况下,您可能会为历史记录表使用另一个表空间,并将此表空间分配给访问速率较低的较便宜的物理设备。

此外,您也许能够标识某些表,这些表对于使数据快速可用以及您需要快速响应时间是必不可少的。可能要将这些表置于分配给一个快速物理设备的表空间中,这样将有助于支持这些重要的数据需要。

通过使用DMS表空间,还可以将表数据分布在四个不同的表空间中:一个存储索引数据;一个存储大对象 (LOB) 和长字段(LF)数据;一个存储常规表数据;最后一个存储XML数据。这允许您选择表空间特征和支持最适合该数据的那些表空间的 物理设备。例如,可能会将索引数据置于可找到的最快的设备上,这样性能可显著提高。如果将一个表分布在各DMS表空间中,那么在启用前滚恢复时,应考虑一起备份和复原那些表空间。SMS表空间不支持以此方式将数据分发在所有表空间中。

管理问题

某些管理功能可以在表空间级执行,但不能在数据库或表级别执行。例如,备份表空间(而不是数据库)可以帮助您更好地利用时间和资源。它允许频繁地备份带有大量更改的表空间,同时仅偶尔地备份带有少量更改的表空间。

可以复原数据库或表空间。如果不相关的表不共享表空间,就可以选择复原数据库一个较小的部分以降低成本。

一种好方法是将相关的表编组在一组表空间中。这些表可以通过引用约束相关,也可以通过定义的其他业务约束相关。

如果经常需要删除并重新定义特定表,那么应在它自己的表空间中定义该表,因为删除一个 DMS 表空间比删除一个表更有效率。