用 DB2 说明工具深入理解物化查询表(MQT)刷新机制
2010-05-13 00:00:00 来源:WEB开发网清单 5. 手动刷新采用即时更新方式的 MQT
db2 set current explain mode explain
db2 "refresh table mqttab"
db2exfmt -d MYDB -1 -e -o refresh1.exfmt
db2 set current explain mode no
Rows
RETURN
( 1)
Cost
I/O
|
1
TBSCAN
( 2)
0.0048
0
|
1
TABFNC: SYSIBM
GENROW
在清单 5 的执行计划可以看到,对于采用即时刷新方式的 MQT,当用户手动刷新时并没有对该 MQT 进行任何操作。访问方案中的 SYSIBM.GENROW 是一个内置函数,它可生成行的表而不使用任何输入,它可以用来生成数据行,然后 TBSCAN 操作符读取数据行。
至此,我们已经通过访问方案理解了 MQT 的即时刷新方式,接下来我们继续讨论 MQT 的延迟刷新方式。
REFRESH DEFERRED 方式(无登台表,即完全刷新)
创建一个基表并插入若干数据,然后创建一个延迟刷新的 MQT,这里基表和 MQT 的表结构与之前的相同,这样也便于我们比较不同刷新方式的异同。使用的语句如清单 6 所示。
清单 6. 创建延迟刷新的 MQT
create table basetab2
(c1 int not null primary key, c2 int, c3 int, c4 int);
insert into basetab2
values(1,1,1,1),(2,2,2,2),(3,3,3,3),(11,11,11,11);
create table mqttab2 as
(select c1, c2, c3 from basetab2 where c1 > 10)
data initially deferred refresh deferred;
set integrity for mqttab2 immediate checked not incremental
- ››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 实战
更多精彩
赞助商链接