WEB开发网
开发学院数据库DB2 使用DB2look实用程序重新创建优化器访问计划(2) 阅读

使用DB2look实用程序重新创建优化器访问计划(2)

 2007-12-21 21:48:20 来源:WEB开发网   
核心提示: 正如将在下面的 排序堆 一节中所看到的,它的工作方式与排序堆的相同,使用DB2look实用程序重新创建优化器访问计划(2), 如果您是一名 DBA,就可能会使用 DB2 SQL Explain Tool(db2exfmt)来获得对于 SQL 访问计划的理解,或者尽可能接近, 清单 4. 影响访问计划的注册表设置
   正如将在下面的 排序堆 一节中所看到的,它的工作方式与排序堆的相同。 
   如果您是一名 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 ----------------  
    QUERYN        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 

Tags:使用 DBlook 实用

编辑录入:coldstar [复制链接] [打 印]
赞助商链接