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

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

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

匿名通过本文主要向大家介绍了db2look,db2look tw,系统配置实用程序,lmtools 实用程序,打印机设定实用程序等相关知识,希望本文的分享对您有所帮助
</div>

手工修改统计数据之一。在 db2look.out 文件中搜索下列语句(请注意,模式名、TABSCHEMA 和 INDSCHEMA 可能与您的具体情况不同):

UPDATE SYSSTAT.INDEXES
SET NLEAF=1,
NLEVELS=1,
FIRSTKEYCARD=35,
FIRST2KEYCARD=35,
FIRST3KEYCARD=-1,
FIRST4KEYCARD=-1,
FULLKEYCARD=35,
CLUSTERFACTOR=-1.000000,
CLUSTERRATIO=100,
SEQUENTIAL_PAGES=0,
DENSITY=0,
AVERAGE_SEQUENCE_GAP=0.000000,
AVERAGE_SEQUENCE_FETCH_GAP=0.000000,
AVERAGE_SEQUENCE_PAGES=0.000000,
AVERAGE_SEQUENCE_FETCH_PAGES=0.000000,
AVERAGE_RANDOM_PAGES=1.000000,
AVERAGE_RANDOM_FETCH_PAGES=0.000000,
NUMRIDS=35,
NUMRIDS_DELETED=0,
NUM_EMPTY_LEAFS=0
WHERE INDNAME = ’NAME_IND’
AND INDSCHEMA = ’SKAPOOR ’
AND TABNAME = ’STAFF’
AND TABSCHEMA = ’SKAPOOR ’;
现在,将 FIRSTKEYCARD、FIRST2KEYCARD、
FULLKEYCARD 和 NUMRIDS 从 35 修改为 37。现在保存
db2look.out 文件并运行这 3 个文件:
db2 -tvf config.out > config_output.out
db2 -tvf storage.out > storage_output.out
db2 terminate
db2stop
db2start
db2 -tvf db2look.out > db2look_output.out

检查前两个文件 config_output.out 和 storage_output.out 的内容,以确保它们运行成功。现在,检查

db2look_output.out 文件的内容。您将看到下列更新语句失败了:

UPDATE SYSSTAT.INDEXES SET NLEAF=1, NLEVELS=1,
FIRSTKEYCARD=37, FIRST2KEYCARD=37
, FIRST3KEYCARD=-1, FIRST4KEYCARD=-1,
FULLKEYCARD=37, CLUSTERFACTOR=-1.000000, C
LUSTERRATIO=100, SEQUENTIAL_PAGES=0,
DENSITY=0, AVERAGE_SEQUENCE_GAP=0.000000, A
VERAGE_SEQUENCE_FETCH_GAP=0.000000,
AVERAGE_SEQUENCE_PAGES=0.000000, AVERAGE_SEQ
UENCE_FETCH_PAGES=0.000000,
AVERAGE_RANDOM_PAGES=1.000000, AVERAGE_RANDOM_FETCH_
PAGES=0.000000, NUMRIDS=37,
NUMRIDS_DELETED=0, NUM_EMPTY_LEAFS=0 WHERE INDNAME =
’NAME_IND’ AND INDSCHEMA = ’SKAPOOR ’
AND TABNAME = ’STAFF’ AND TABSCHEMA = ’SK
APOOR ’
DB21034E The command was processed as
an SQL statement because it was not a
valid Command Line Processor command.
During SQL processing it returned:
SQL1227N The catalog statistic "37"
for column "FULLKEYCARD" is out of range
for its target column, has an invalid
format, or is inconsistent in relation
to some other statistic. Reason Code = "8".
SQLSTATE=23521

正如您可以看到的,上面用于索引 NAME_IND 的 UPDATE 语句失败了,因为 FULLKEYCARD 大于表的基数(CARD)。正如通过

db2look.out 文件中的下列更新语句可以看到的,CARD 是 35:

UPDATE SYSSTAT.TABLES
SET CARD=35,
NPAGES=1,
FPAGES=1,
OVERFLOW=0,
ACTIVE_BLOCKS=0
WHERE TABNAME = ’STAFF’ AND TABSCHEMA = ’SKAPOOR ’;

现在,再次以解释模式运行相同的查询:

db2 "select name from staff where id=10 order by name"

并生成访问计划。您将看到它是不同的:

Access Plan:
-----------
Total Cost: 12.972
Query Degree: 1
Rows
RETURN
( 1)
Cost
I/O
|
1
TBSCAN
( 2)
12.972
1
|
1
SORT
( 3)
12.9708
1
|
1
TBSCAN
( 4)
12.9682
1
|
35
TABLE: SKAPOOR
STAFF

该示例显示,如果在表上发生 WRITE 活动时运行 RUNSTATS,统计数据就可能与本示例中的不一致。因此,用于更新统计数据的 UPDATE

语句可能失败并产生 SQL1227N 错误消息。所有的 UPDATE 语句都运行成功十分重要,如果存在不一致性,就应该进行修理并重新运行。本例中,解决方案是将

KEYCARDS 和 NUMRIDS 从 37 重新修改为 35。

转载:http://www.cncms.com.cn/db2/u351951.html </div> </div> </div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

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

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

相关文章

  • 2017-06-28DB2 Data Warehouse Enterprise Edition 提示和技巧 2
  • 2017-05-11用表单来提交sql(转)3
  • 2017-06-28DB2中有关日期和时间的函数及应用
  • 2017-06-28DB2数据库应用系统性能优化深入探究
  • 2017-06-28对于与DB2并行度相关的几个参数的说明
  • 2017-06-28IBM DB2 Datawarehouse介绍
  • 2017-06-28结合使用 CICS 和 DB2 pureXML
  • 2017-06-28全面解析IBM DB2 9中的查询优化新特性
  • 2017-06-28与异构数据库环境进行交互的开放源代码的独立前端
  • 2017-06-28实例讲解如何在DB2 UDB中正确的监控死锁

文章分类

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

最近更新的内容

    • 利用表空间的备份快速恢复IBM DB2数据库
    • 使用DB2配置向导配置参数
    • 修改DB2服务器的主机名
    • 常见数据库系统比较 DB2数据库
    • 在 DB2 中使用 XML 模式和数据类型
    • 使用DB2 V9进行非增量重定向还原
    • 高手教你用VCS配置DB2双机-高级
    • IBM DB2 日常维护汇总(一)
    • DB2 Magazine中文版:为实时分析提供支持
    • DB2 v7.2 中的高级 SQL 过程脚本编制

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

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