WEB开发网
开发学院数据库DB2 DB2 最佳实践: 物理数据库设计最佳实践,第 2 部分... 阅读

DB2 最佳实践: 物理数据库设计最佳实践,第 2 部分:MDC、数据库分区、视图以及后设计工具介绍

 2009-11-12 00:00:00 来源:WEB开发网   
核心提示: 存储块被设计为同这个表所在表空间的扩展数据块大小相等,如果这个表的单元数目非常大,DB2 最佳实践: 物理数据库设计最佳实践,第 2 部分:MDC、数据库分区、视图以及后设计工具介绍(4),存储的浪费也会很大,如果 MDC 很差而且产生了大量的单元,所以块索引通常是传统基于行的索引的 1/100

存储块被设计为同这个表所在表空间的扩展数据块大小相等。如果这个表的单元数目非常大,存储的浪费也会很大。如果 MDC 很差而且产生了大量的单元,表的存储需求会非常显著的增加,而且 MDC 的性能也会受损。然而,设计的 MDC 表只会比非 MDC 表大一点,而且在集群和数据转入转出上提供了较大的好处(将在后面讨论)

图 7 显示存储块和单元分配。如图所示,每个单元都包含了一批存储块。绝大多数块被数据填充,不过对于每个单元的最后一个块,却是或多或少被部分填充的。


图 7. MDC 单元存储
DB2 最佳实践: 物理数据库设计最佳实践,第 2 部分:MDC、数据库分区、视图以及后设计工具介绍

图片看不清楚?请点击这里查看原图(大图)。

如果你有样本数据或具体数据,你就可以使用 SQL 来为所有可能的 MDC 设计度量 MDC 需要的单元数目,如下所示:

SELECT COUNT(*) FROM (SELECT DISTINCT COL1, COL2, COL3 FROM MY_FAV_TABLE) AS NUM_DISTINCT;

对一个 3 维的 MDC 表来说,COL1、COL2 和 COL3 是 MDC 的维度。结果数乘以表的扩展数据块大小将得出一个在表被转换为 MDC 过程中扩展数据块增长(不是大小)的上限。

MDC 的其他核心价值是 DB2 数据库管理器在表的 MDC 维度上自动为 MDC 表创建索引。这些特殊的索引对块而非行建立索引,这是可行的。因为在 MDC 表中数据会一直保持集群,因此在相同块中的所有的行同样确保有相同的键值。这是由于在 MDC 中数据是对块进行索引而非记录,所以块索引通常是传统基于行的索引的 1/1000 大小。结果就是在相关查询运行时的性能好处,并把 INSERT、UPDATE 和 DELETE 操作的开销减到了最少。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:DB 最佳 实践

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接