在专家的帮助下设计数据仓库
2008-09-03 16:27:28 来源:WEB开发网-- create TABLE "TPCD"."LINEITEM" ("L_ORDERKEY BIGINT NOT NULL, -- "L_PART" INTEGER NOT NULL, -- "L_SUPPKEY" INTEGER NOT NULL, -- "L_LINENUMBER" INTEGER NOT NULL, -- "L_SHIPINSTRUCT" char(25) NOT NULL, (11 other columns omitted from this example) -- MDC409022109290000 GENERATED ALWAYS AS ( ((INT(L_SHIPDATE))/7) ) -- ---- PARTITIONING KEY ("L_PARTKEY") USING HASHING -- ---- IN "TPCDLADT" -- ORGANIZE BY ( -- MDC409022109290000, -- L_SHIPINSTRUCT ) -- PARTITIONING KEY (L_ORDERKEY) USING HASHING -- IN TPCDLDAT --; -- COMMIT WORK ;
注意,这里建议了一个新的分区键(L_ORDERKEY),用以替代当前的分区键(L_PARTKEY),后者被注释掉了。对于这个表的 MDC 建议(ORGANIZE BY 子句)包括两个维:一个生成的列(INT(L_SHIPDATE/7))和一个已有的列(L_SHIPINSTRUCT)。
输出中接下来的是关于 MQT 的建议,如下所示。
-- LIST OF RECOMMENDED MQTs -- ======================== -- MQT MQT40902204140000 can be created as a refresh immediate MQT -- mqt[1], 0.009MB create SUMMARY TABLE "ADVDEMO2"." MQT40902204140000" AS (select Q6.CO AS "CO", Q6.C1 AS "C1", …additional details omitted here…) DATA INITIALLY DEFERRED REFRESH IMMEDIATE PARTITIONING KEY (C8) USING HASHING IN TPCDLDAT ; COMMIT WORK; REFRESH TABLE "ADVDEMO2"." MQT40902204140000"; COMMIT WORK; RUNSTATS ON TABLE "ADVDEMO2"." MQT40902204140000"; COMMIT WORK; -- MQT MQT409022041530000 can be created as a refresh immediate MQT (… DDL to create this table follows…)
MQT 建议包括: 估计的大小、使用的表空间、分区键(如果适用的话)、刷新类型(立即或延迟)以及这个表是否是一个基本表的复制品(由 REPLICATE 关键字表明),但在本案例中不是的。
最后,Design Advisor 以下面显示的信息结束。
8604 solutions were evaluated by the advisor DB2 Workload Performance Advisor tool is finished.结束语
Design Advisor 非常适合为数据仓库优化数据库设计,因为除了关于索引的建议之外,它还可以提供关于 MQT、MDC 和 DPF 分区键的建议。由于数据仓库中的查询工作负载具有即席的特点,所以该工具分析这种工作负载以及提供建议的方式是非常可贵的。
更多精彩
赞助商链接