DB2 中 MQT 的匹配原理及使用技巧
2010-03-31 00:00:00 来源:WEB开发网查询结果集是 MQT 的子集
这种情况也很容易理解。当查询结果集是 MQT 的子集时,这意味着查询需要的行与列在 MQT 中都能找到,而 DB2 只需要在对应 MQT 上执行剩余的谓词 (predicate) 及计算 (head expression) 即可。如图 2 所示,这种 MQT 只需要被计算一次就可以被多次重用。清单 3 则给出了该场景的一个具体例子。
图 1. 查询结果集是 MQT 子集示意图
查看原图(大图)
清单 3. 查询结果集是 MQT 子集匹配
--MQT definition: join for SALES and PRODUCT
CREATE TABLE MQTSCH.SALES_PROD AS
(SELECT P.PROD_ID, PROD_DESC, AMOUNT
FROM MQTSCH.PRODUCT P, MQTSCH.SALES S
WHERE P.PROD_ID = S.PROD_ID)
DATA INITIALLY DEFERRED REFRESH DEFERRED;
refresh table MQTSCH.SALES_PROD;
--artifical statistics
runstats on table MQTSCH.SALES_PROD;
update syscat.tables set card=10 where tabname='SALES_PROD';
--collect the explain information
DELETE FROM EXPLAIN_INSTANCE;
explain plan for SELECT P.PROD_ID, PROD_DESC, AMOUNT
FROM MQTSCH.PRODUCT P, MQTSCH.SALES S
WHERE P.PROD_ID = S.PROD_ID and AMOUNT > 10000;
!db2exfmt -1 -d mqtdb -o joinsub.plan;
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››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 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接