• 运用DB2look从新直立优化器接见规画(4)


     
     
    天生 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
     
    然后,中缀并从新跟尾数据库。再次对 DUMMYDB 发出 query.sql,并运用 db2exfmt 命令天生接见规画。此次,您将看到不异的接见规画。否则,就进一步确保本文中所讨论的一切优化器关系的参数都是不异的。
     
    示例 2:
     
    该示例体现了 db2look 命令中 -m 选项的主要性。后面用 -m 选项收集的统计数据在测试和消耗中应该不异。本例中,我们将看到没有精确更新统计数据时规画是若何变化的。
     
    数据库管理器建设、数据库建设和 db2set 注册表变量与下面 示例 1 中的不异。这里的方式名是 SKAPOOR。用您的表的方式交换它。数据库是不异的,与 示例 1 中一样是 SAMPLE 和 DUMMY。这里所运用的平台和 db2level 是 AIX 5.1 和 DB2 UDB ESE V8.2,Fix pack 8,单分区。
     
    在 sample 数据库上实行下列命令:
     
    db2 "connect to sample"
    db2 "create index name_ind on staff (name,id)"
    db2 "runstats on table skapoor.staff with
    distribution and indexes all"
    db2 "set current explain mode explain"
    db2 "select name from staff where
    id=10 order by name"
    db2 "set current explain mode no"
    db2 "terminate"
     
     
     
    运用 db2exfmt 天生接见规画。您将看到下面的接见规画:
     
    Access Plan:
    -----------
    Total Cost: 0.111065
    Query Degree: 1
    Rows
    RETURN
    ( 1)
    Cost
    I/O
    |
    1
    IXSCAN
    ( 2)
    0.111065
    0
    |
    35
    INDEX: SKAPOOR
    NAME_IND
     
     
     
     
     
     
    从 sample 数据库中收集 db2look 信息:
     
    db2look -d sample -l -o storage.out
    db2look -d sample -e -a -m -t STAFF -o db2look.out
     
     
    db2look ummy 数据库,而不是之前在下面示例1中所跟尾的sample数据库。

     
    来自: 新客网(www.xker.com) 详文参考:http://www.xker.com/page/e2007/0731/28977.html


    版权声明: 原创作品,许可转载,转载时请务必以超链接方式标明文章 原始因由 、作者信息和本声明。否则将追究法令责任。

  • 相关阅读:
    BurnInTest 设置屏蔽错误显示
    linux内核之模块参数及导出符号
    小程序设置背景图片
    微信小程序wxss样式文件中引用iconfont素材
    mac或linux中打开.bashrc,编辑完之后如何保存退出
    git clone 远程分支内容
    vue 自定义指令
    Vue笔记
    uniapp 小程序上获取不同机型 距离
    git 添加.gitignore文件不生效
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975360.html
Copyright © 2020-2023  润新知