使用DB2look 重新创建优化器访问计划(2)
作者: 来源: 添加时间:2006-5-22 11:39:59如果您是一名 DBA,就可能会使用 DB2 SQL Explain Tool(db2exfmt)来获得对于 SQL 访问计划的理解。db2exfmt 工具用于格式化解释表的内容。如果您在生产中使用 db2exfmt 查看一个访问计划的输出,就会注意到计划顶部的下列内容。(注意:这些参数通常是由 db2look 输出中的 -f 和 -fd 选项所选择的,除了 dbheap 设置之外)。
清单 3. db2exfmt 的示例输出
Database Context:
----------------
Parallelism:None
CPU Speed: 6.523521e-07
Comm Speed: 100
Buffer Pool size: 50000
Sort Heap size:10000
Database Heap size: 5120
Lock List size:1000
Maximum Lock List:10
Average Applications:1
Locks Available: 7849
Package Context:
---------------
SQL Type:Dynamic
Optimization Level: 5
Blocking:Block All Cursors
Isolation Level: Cursor Stability
---------------- STATEMENT 1 SECTION 201 ----------------
QUERYNO: 1
QUERYTAG:CLP
Statement Type:Select
Updatable: No
Deletable: No
Query Degree: 1
如果您稍稍深入查看 db2exfmt 的输出,就在访问计划之后,您将看到是否具有影响优化器计划的注册表设置。
注意:另外,遗憾的是,db2look -f 并非列出了所有相关的注册表变量。您将需要添加那些遗漏的。一般来说,您测试系统上的注册表变量设置应与生产系统上的相同,或者尽可能接近。
清单 4. 影响访问计划的注册表设置
1) RETURN: (Return Result)
Cumulative Total Cost: 57.6764
Cumulative CPU Cost:191909
Cumulative I/O Cost:2
Cumulative Re-Total Cost: 5.37264
Cumulative Re-CPU Cost:134316
Cumulative Re-I/O Cost:0
Cumulative First Row Cost:26.9726
Estimated Buffer pool Buffers:2
Arguments:
---------
BLDLEVEL: (Build level)
DB2 v8.1.0.80 : s041221
ENVVAR : (Environment Variable)
DB2_ANTIJOIN=yes
DB2_INLIST_TO_NLJN = yes
STMTHEAP: (Statement heap size)
2048
创建数据定义语言(DDL)
下列 db2look 命令创建了 DDL 以复制所有数据库对象,以及配置和统计信息。
db2look -d <dbname> -e -a -m -o db2look.out
第 1 页,共 2 页 [1] [2]
站内搜索