• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > 使用DB2look实用程序重新创建优化器访问计划(3)

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

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了db2look,db2look tw,系统配置实用程序,lmtools 实用程序,打印机设定实用程序等相关知识,希望本文的分享对您有所帮助
</div>   在测试系统上重新创建优化器/查询计划问题的示例 
示例 1: 
OS:Windows 2000 
DB2LEVEL:V8.2 Fixpack 8 ESE 单分区 
测试并复制相同的 OS 和 db2level。 
数据库: 
生产数据库:SAMPLE 
测试数据库:DUMMYDB 
使用下列命令创建 Sample 数据库:db2sampl 
使用下列命令创建 Dummy 数据库: 
db2 create db DUMMYDB 

注意:用与生产中相同的代码页、地区和排序序列创建 TEST 数据库。 

生产环境: 

-------------------------------------------------------- 
-- Database SAMPLE and Database Manager configuration parameters 
-------------------------------------------------------- 
UPDATE DBM CFG USING cpuspeed 9.446886e-007; 
UPDATE DBM CFG USING intra_parallel NO; 
UPDATE DBM CFG USING federated NO; 
UPDATE DBM CFG USING fed_noauth NO; 

!db2fopt SAMPLE update opt_buffpage 250; 
!db2fopt SAMPLE update opt_sortheap 256; 

UPDATE DB CFG FOR SAMPLE USING locklist 50; 
UPDATE DB CFG FOR SAMPLE USING dft_degree 1; 
UPDATE DB CFG FOR SAMPLE USING maxlocks 22; 
UPDATE DB CFG FOR SAMPLE USING avg_appls 1; 
UPDATE DB CFG FOR SAMPLE USING stmtheap 2048; 
UPDATE DB CFG FOR SAMPLE USING dft_queryopt 5; 

--------------------------------- 
-- Environment Variables settings 
--------------------------------- 

!db2set DB2_INLIST_TO_NLJN=yes; 
!db2set DB2_HASH_JOIN=yes; 

除了以上设置,还应在数据库配置中注意下列配置: 

db2 get db cfg for sample > dbcfg_sample.out 

Database heap (4KB)           (DBHEAP) = 600 
SQL statement heap (4KB)        (STMTHEAP) = 2048 
Number of frequent values retained   (NUM_FREQVALUES) = 10 
Number of quantiles retained      (NUM_QUANTILES) = 20 

确保在修改数据库管理器配置(dbm cfg)之后停止并启动该实例。对于 sample 数据库,按下列方式对 ORG 和 SALES 表运行 runstats: 

db2 connect to sample 
db2 runstats on table <schema>.org with distribution and indexes all 
db2 runstats on table <schema>.sales with distribution and indexes all 
db2 terminate 

现在,通过执行 EXPLAIN.DDL 文件生成 EXPLAIN 表,该文件在 <install directory>\sqllib\misc 目录下: 

db2 connect to sample 
db2 -tvf <intall path>\EXPLAIN.DDL 
db2 terminate 

在名为 query.sql 的文件中保存下列命令: 

connect to sample 
set current explain mode explain 
select * from org a, staff b where a.deptnumb=b.dept and b.dept=15 
set current explain mode no 
terminate 

现在,按下列方式执行该文件: 

db2 -tvf query.sql 

上面将仅仅以解释模式编译查询。您将在屏幕上看到: 

C:\>db2 -tvf query.sql 
connect to sample 

  Database Connection Information 

 Database server    = DB2/NT 8.2.1 
 SQL authorization ID  = SKAPOOR 
 Local database alias  = SAMPLE 

set current explain mode explain 
DB20000I The SQL command completed successfully. 

select * from org a, staff b where a.deptnumb=b.dept and b.dept=15 
SQL0217W The statement was not executed as only Explain information requests 
are being processed. SQLSTATE=01604 

set current explain mode no 
DB20000I The SQL command completed successfully. 

C:\>db2 terminate 
DB20000I The TERMINATE command completed successfully. 

使用 db2exfmt 生成访问计划,如下: 

db2exfmt -d SAMPLE -g TIC -w -1 -n % -s % -# 0 -o prod_sample_exfmt.txt 

检查 prod_sample_exfmt.txt 文件的内容。您将看到生成了下面的访问计划: 

Access Plan: 
----------- 
 Total Cost:  25.8823 
 Query Degree: 1 

       Rows  
       RETURN  
       (  1)  
       Cost  
        I/O  
        | 
        4  
       HSJOIN 
       (  2)  
       25.8823  
        2  
     /-----+-----\ 
    4        1  
   TBSCAN      TBSCAN  
   (  3)      (  4)  
   12.9682     12.913  
    1        1  
    |        | 
    35        8  
 TABLE: SKAPOOR  TABLE: SKAPOOR  
   STAFF       ORG  

现在,这就是您要在生产 sample 数据库上继续的计划。您需要在测试环境中模拟该计划。 
从生产 sample 数据库中收集下列信息: 

db2look -d SAMPLE -l -o storage.out             
db2look -d SAMPLE -f -fd -o config.out 
db2look -d SAMPLE -e -a -m -t ORG SALES -o table.ddl 

测试环境: 
修改上面将数据库从 SAMPLE 连接到 DUMMYDB 时所收集的每个文件中的数据库名。 
例如,如果您查看了 3 个文件的内容,就会注意到: 
CONNECT TO SAMPLE; 

将它修改为: 
CONNECT TO DUMMYDB; 

在测试环境中接管这些文件。本例中,所有的表都是在默认的表空间 USERSPACE1 中创建的。因此,它们也应在测试系统上相同的 SMS 表空间中用 storage.out 中转储的相同配置(包括 PREFETCHSIZE、EXTENTSIZE 等)进行创建。 
在 config.out 文件中进行少量修改。将下列内容: 
UPDATE DB CFG FOR SAMPLE USING dft_queryopt 5; 

修改为 
UPDATE DB CFG FOR SAMPLE USING dft_queryopt 3; 

并保存 config.out 文件。 
现在,执行 storage.out、config.out 和 table.ddl,如下: 

db2 -tvf storage.out > storage_output.out 
db2 -tvf config.out > config_output.out 
db2 -tvf table.ddl > table.out 

检查输出文件以确保所有命令都成功运行了。并且按照生产环境设置中所显示的用于 SAMPLE DB 的设置来修改 DBHEAP、STMTHEAP、NUM_FREQVALUES、NUM_QUANTILES,使它们适用于 DUMMYDB。同时,检查注
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 使用DB2look实用程序重新创建优化器访问计划(9)
  • 使用DB2look实用程序重新创建优化器访问计划(8)
  • 使用DB2look实用程序重新创建优化器访问计划(6)
  • 使用DB2look实用程序重新创建优化器访问计划(5)
  • 使用DB2look实用程序重新创建优化器访问计划(4)
  • 使用DB2look实用程序重新创建优化器访问计划(3)
  • 使用DB2look实用程序重新创建优化器访问计划(8)
  • 使用DB2look实用程序重新创建优化器访问计划(6)
  • 使用DB2look实用程序重新创建优化器访问计划(5)
  • 使用DB2look实用程序重新创建优化器访问计划(4)

相关文章

  • 2017-05-11DB2中的数据移动(一)
  • 2017-06-28DB2实用程序介绍之EXPORT实用程序
  • 2017-06-28DB2 最佳实践: 使用虚拟化来提高数据服务器利用率和对数据服务器的管理
  • 2017-06-28正确数据,正确位置,正确时间
  • 2017-06-28调优 DB2 UDB v8.1 及其数据库的最佳实践
  • 2017-06-28使用 DB2 Universal Database V8 中的连接集中器来增强性能
  • 2017-05-11JSP如何连接DB2数据库
  • 2017-06-28内容管理: 未雨绸缪的内容管理
  • 2017-05-11DB2编程序技巧 (十)
  • 2017-06-28将DWE Design Studio的功能集成到其他基于Eclipse平台的产品

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 分布式 DBA: Cursor Stability Isolation Level 的变化:第 2 部分(理解 Currently Committed 行为)
    • 了解DB2数据库优化需掌握几条基本策略
    • 实例讲解如何在DB2 UDB中正确的监控死锁
    • 一个SQL存储过程
    • DB2基础:表空间和缓冲池
    • DB2 UDB V8.1管理学习笔记(一)
    • DB2数据库为单个会话锁定技巧
    • DB2数据库基础总结
    • 使用DB2数据库临时表的注意事项
    • 在UNIX 和Linux平台上部署 IBM DB2 产品

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有