热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

使用DB2look重新创建优化器访问计划(9)

来源: 作者: 时间:2007-08-07 Tag: 点击:

该表具有一百万行记录,一个整型列上定义了主键。您运行带有分布和索引所有选项的 RUNSTATS,从而允许对表进行写访问。在获得表统计数据的时候,有 100,000 条附加记录插入了该表。因此对于表统计数据,CARD 将显示为 1,100,000。但是,在我们开始收集索引统计数据时,例如,对于整型列上所定义的主键,就插入了 10,000 条附加记录,因此,该表中的行数是 1,110,000,而主索引 FIRSTKEYCARD 将是 1,110,000。因此,您可以看到不一致性。表统计数据的 CARD 显示表中应该是 1,100,000 条记录,而主索引统计数据的 FIRSTKEYCARD 显示表中应该是 1,110,000 条记录。对于索引统计数据的更新将失败,并发出 SQL1227N rc=8 错误消息(本例中),因为索引的 FIRSTKEYCARD 大于表的 CARD。您必须手工修复这种不一致性,对于本例,就是使 FIRSTKEYCARD 等于 CARD,均等于 1,100,000,或者反过来 —— 即增加 CARD 到等于 FIRSTKEYCARD,均等于 1,110,000。

您还可能碰到许多其他的不一致性。请确保在将输出保存为文件的测试中运行带有 -m 选项的 db2look 时,检查所有的不一致性,并进行修复。这里仅仅给出了一个不一致性的例子;您可能会碰到很多其他的不一致性,这将留给用户去修复所有这些不一致性,然后重新运行 db2look,将输出重定向到文件中以确保所有更新的统计数据都运行得很好,没有任何问题。

 

示例 6:

 

在该示例中,您在生产中获得 SQL0437W rc=1 警告消息,但在测试中没有看到它。本例中,按照上面的示例重新创建该问题。请确保 STMTHEAP 是相同的。如果它是不同的(例如出于某种原因,测试中高于生产中),那么您可能就不会看到相同的警告。同样,我们所讨论的其他参数也很重要。

 

SQL0437W rc=2 和其他返回代码也可以按照相同的方法重新进行创建。

 

其他错误消息,例如 SQL0101N 和 SQL0901N 也可以使用相同的方法重新进行创建。甚至可以重新创建编译器/优化器领域中的中断。当您处于更老的补丁包级别,并需要尝试最新补丁包级别以查看是否可以避免该问题时,或者当您需要尝试不同的优化级别以查看是否将暂时克服该问题时,这就极其有用。

 

结束语

 

db2look 是一个功能极其强大的实用程序,可以用于重新创建访问计划问题以及编译器问题,如本文中所讨论的那些。一旦重新创建了该问题,您就可以测试许多可以影响性能的变量,如修改优化级别,尝试注册表变量和更新不影响生产的统计数据,以及测试新的补丁包级别。您将发现这个方便的实用程序可用于调试问题和提高查询性能。


上一篇:使用DB2look重新创建优化器访问计划(8)
下一篇:没有了


相关文章:
db2日期操作函数
SQL 语法参考手册
谈谈IBM DB2的数据库备份与恢复
对 DB2 V9 中 XML 类型的编码处理(dW)
构建DB2 Cube View元数据桥
DB2存储过程开发最佳实践
DB2中使用所有内存
DB2与SQL Server2000间SQL数据复制
用户和组帐户与DB2 UDB的交互
DB2 9数据库优点及缺点详细分析
DB2中实现Oracle的相关功能
将Siebel 7电子商务应用程序从DB2 UDB V8 迁移到D
解析:DB2 无限活动日志策略的实用技巧
DB2 9数据服务器发展的3个阶段
为DB2数据库添加验证约束
DB2数据库创建存储过程时遇到的错误
DB2 9数据库性能理解的二十大误区
DB2中的终极SQL性能调节技术
DB2数据库应用系统性能优化深入探究
提高DB2 Web程序性能5条规则
详解安装DB2 9数据库管理软件的4种方式
DB2 9.5的数据库内存保护技术
解决DB2中出现的SQL1032N错误现象
创建克隆文件
DB2数据库优化的几条策略
如何解决DB2中出现的SQL1032N错误现象
解决DB2数据库代码页不兼容的问题
DB2创建存储过程时遇到的错误
教你提高商业智能环境中的DB2查询性能
DB2 9.5的数据库内存保护