学院首页>网络编程>其它编程>使用DB2look 重新创建优化器访问计划(2)

使用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]
站内搜索