DB2 最佳实践: 物理数据库设计最佳实践,第 2 部分:MDC、数据库分区、视图以及后设计工具介绍
2009-11-12 00:00:00 来源:WEB开发网MDC 需要 coarsification,而且你不能将一个生成列添加到你的表中。
你不能也不需要在表增长过程中将表的结果生成 MDC 版本。良好设计的 MDC 表一般比非 MDC 表大 2-15% 。
你会发现,由于 coarsification 的原因,MDC 集群将提供稍小的集群率(例如,93%)。而使用集群索引的话,为了提高集群率你需要周期性的执行 REORG 来达到这个比率。
使用下面的 MDC 设计的最佳实践:
从找出等于、不等、范围和排序谓词使用的列开始,请选择出你的 MDC 候选列。维度必须匹配你的转入范围才能提高数据转入效率。
记住,要争取密度!为每个已经存在的单元分配一个扩展数据块 – ——不管单元中有多少条记录。这样可以通过最优的空间利用率来增强 MDC,尽量高密度的填充数据块。
控制表的膨胀。保持尽可能低的单元数目并限制存储扩展。 5% 到 10% 的增长对任何单个表都是合理的范围(本文在下面章节讨论 MDC 单元),但是也有例外,甚至也有两倍于平常的增长,不过很少。
注意:BLOCK 索引与相应的表相比非常的小,在大多数情况下,你可以忽略它们的存储需求。
Coarsify 一些维度来提高数据的密度。使用生成列来 coarsifications 表中基数非常少的列。例如,基于日期列的一部分 month-of-year 上创建一列,或使用(INT(列名))/100 来把 DATE 列从 Y-M-D 格式转换成 Y-M 。CREATE TABLE Sales
(SALES_DATE DATE,
REGION CHAR(12),
PRODUCT CHAR(30), …
MONTH GENERATED ALWAYS AS
((INTEGER(DATE)/100) …
ORGANIZE BY (MONTH, REGION, PRODUCT)
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››最佳ASP.NET编程习惯
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
更多精彩
赞助商链接