分享
 
 
 

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

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

手工修改统计数据之一。在 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。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有