Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101923945
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-14 19:34:53

   来源:赛迪网    作者:huawuque

生成 db2exfmt 输出:

db2exfmt -d DUMMYDB -g TIC -w -1 -n % -s % -# 0 
-o test_dummydb_exfmt.txt

检查 test_dummydb_exfmt.txt 的内容并查看访问计划:

Access Plan: 

----------- 

Total Cost: 25.8843 

Query Degree: 1 

Rows 

RETURN 

( 1) 

Cost 

I/O 

| 

4 

MSJOIN 

( 2) 

25.8843 

2 

/-----+-----\ 

1 4 

TBSCAN TBSCAN 

( 3) ( 5) 

12.913 12.9682 

1 1 

| | 

8 35 

TABLE: SKAPOOR TABLE: SKAPOOR 

ORG STAFF

您在测试中获得了一个不同于生产中的访问计划。本例中,显然我们在测试系统上已经将 DFT_QUERYOPT(默认的查询优化)从 5 修改为 3。因此,您看到的是 Merge Join 计划,而非 Hash Join 计划,以及有一点点区别的总成本(Total Cost)。

因为这些计划不匹配(假设您不确定为什么),所以要检查 db2exfmt 输出中的配置。见表 2。

正如您可以看到的,测试(TEST)和生产(PRODUCTION)之间的惟一区别就是优化级别(Optimization Level),我们特意将之从 5 修改为 3,只是为了显示在测试环境中复制生产访问计划为何会不成功。

本例中,您将使用下列 UPDATE 语句将 DFT_QUERYOPT 更新为5:

UPDATE DB CFG FOR SAMPLE USING dft_queryopt 5
阅读(386) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~