【俊哥儿张】用db2look 模拟表的统计信息

上一篇 / 下一篇  2008-07-30 13:45:06 / 个人分类:DB2

db2look模拟表的统计信息

如果测试数据库用于测试性能或调试性能问题,则对两个数据库生成的访问方案应该完全相同。优化器根据统计信息、配置参数、注册表变量和环境变量来生成访问方案。如果两个系统间的这些设置完全相同,则访问方案很可能是相同的。

 

如果将完全相同的数据装入到两个数据库中,并且对它们两个执行相同的RUNSTATS选项,则统计信息也应该完全相同。

 

但是,如果数据库包含不同数据,或者如果测试数据库中只使用数据的子集,则统计信息可能会有显著差别。在这种情况下,可使用db2look来从生产数据库收集统计信息并将它们放在测试数据库中。通过对可更新表的SYSSTAT集合创建UPDATE语句并对所有表创建RUNSTATS命令来执行此操作。

 

用于创建统计信息语句的选项为-m。返回至SAMPLE/SAMPLE2示例,从SAMPLE收集统计信息并将其添加至SAMPLE2

 

db2look -d sample -m > stats.dml

--用户为:

--以模拟方式运行db2look

 

像以前一样,必须编辑输出文件以便将CONNECT TOSAMPLE语句更改为CONNECT TOSAMPLE2。而且再看一下文件内容的余下部分,以了解某些RUNSTATS语句和UPDATE语句的情况:

...

--模拟表ORG

RUNSTATS ON TABLE "DB2"."ORG" ;

 

UPDATE SYSSTAT.INDEXES

SET NLEAF=-1,

   NLEVELS=-1,

   FIRSTKEYCARD=-1,

……

RUNSTATS ON TABLE "DB2"."ORG";

……

 

最后,对SAMPLE2运行修改后的脚本:

db2 –tvf stats.dml

 


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2009-01-09  
    123
45678910
11121314151617
18192021222324
25262728293031

数据统计

  • 访问量: 2118
  • 日志数: 1122
  • 建立时间: 2008-05-06
  • 更新时间: 2009-01-06

RSS订阅

Open Toolbar