用 DB2 说明工具深入理解物化查询表(MQT)刷新机制
2010-05-13 00:00:00 来源:WEB开发网 db2 set current explain mode explain
db2 "update basetab2 set c2=100 where c1=11"
db2exfmt -d MYDB -1 -e -o update2.exfmt
db2 "delete from basetab2 where c1=11"
db2exfmt -d MYDB -1 -e -o delete2.exfmt
db2 set current explain mode no
同样的我们可以发现,对基表的 update 和 delete 操作时的访问方案也没有对 MQT 的刷新操作。读者可以在本文最后的下载链接中找到 update2.exfmt 和 delete2.exfmt 中的访问方案,限于篇幅不在正文部分显示。
最后,我们来看一下当用户手动的刷新 MQT 时其执行方案,在刷新之前我们首先向基表中插入了几条数据并修改了部分已有数据,使用的命令和访问方案如清单 9 所示。
清单 9. 手动刷新采用延迟更新方式的 MQT
db2 "insert into basetab2 values(12,12,12,12)"
db2 "insert into basetab2 values(13,12,12,12)"
db2 "insert into basetab2 values(14,12,12,12)"
db2 "insert into basetab2 values(15,12,12,12)"
db2 "update basetab2 set c2=100 where c1=11"
db2 runstats on table hqy.basetab2
db2 set current explain mode explain
db2 "refresh table mqttab2"
db2exfmt -d MYDB -1 -e -o refresh2.exfmt
db2 set current explain mode no
Rows
RETURN
( 1)
Cost
I/O
|
0.333333
FILTER
( 2)
35.9682
4
+------------+------------------+-----+-------------------------+
1 0 1.33333 1
TBSCAN FILTER INSERT DELETE
( 3) ( 4) ( 6) ( 9)
0.0048 0.0404 17.979 17.8015
0 0 2 2
| | /---+----\ /---+----\
1 1 1.33333 1 1 1
TABFNC: SYSIBM TBSCAN FETCH TABLE: HQY TBSCAN TABLE: HQY
GENROW ( 5) ( 7) MQTTAB2 ( 10) MQTTAB2
0.0048 9.89896 Q6 9.72148 Q10
0 1 1
| /---+----\ |
1 1.33333 4 1
TABFNC: SYSIBM IXSCAN TABLE: HQY TABLE: HQY
GENROW ( 8) BASETAB2 MQTTAB2
1.73403 Q7 Q11
0
|
4
INDEX: SYSIBM
SQL091124002956410
Q7
- ››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 实战
更多精彩
赞助商链接