久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

使用DB2look重新創建優化器訪問計劃(5)

瀏覽:151日期:2023-11-11 13:19:21

手工修改統計數據之一。在 db2look.out 文件中搜索下列語句(請注重,模式名、TABSCHEMA 和 INDSCHEMA 可能與您的具體情況不同):

UPDATE SYSSTAT.INDEXESSET 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=0WHERE INDNAME = ’NAME_IND’AND INDSCHEMA = ’SKAPOOR ’AND TABNAME = ’STAFF’AND TABSCHEMA = ’SKAPOOR ’;現在,將 FIRSTKEYCARD、FIRST2KEYCARD、FULLKEYCARD 和 NUMRIDS 從 35 修改為 37?,F在保存db2look.out 文件并運行這 3 個文件:db2 -tvf config.out > config_output.outdb2 -tvf storage.out > storage_output.outdb2 terminatedb2stopdb2startdb2 -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, 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=37,NUMRIDS_DELETED=0, NUM_EMPTY_LEAFS=0 WHERE INDNAME =’NAME_IND’ AND INDSCHEMA = ’SKAPOOR ’AND TABNAME = ’STAFF’ AND TABSCHEMA = ’SKAPOOR ’DB21034E The command was processed asan SQL statement because it was not avalid Command Line Processor command.During SQL processing it returned:SQL1227N The catalog statistic "37"for column "FULLKEYCARD" is out of rangefor its target column, has an invalidformat, or is inconsistent in relationto some other statistic. Reason Code = "8".SQLSTATE=23521正如您可以看到的,上面用于索引 NAME_IND 的 UPDATE 語句失敗了,因為 FULLKEYCARD 大于表的基數(CARD)。正如通過

db2look.out 文件中的下列更新語句可以看到的,CARD 是 35:UPDATE SYSSTAT.TABLESSET CARD=35,NPAGES=1,FPAGES=1,OVERFLOW=0,ACTIVE_BLOCKS=0WHERE TABNAME = ’STAFF’ AND TABSCHEMA = ’SKAPOOR ’;

現在,再次以解釋模式運行相同的查詢:db2 "select name from staff where id=10 order by name"

并生成訪問計劃。您將看到它是不同的:Access Plan:-----------Total Cost: 12.972Query Degree: 1RowsRETURN( 1)CostI/O|1TBSCAN( 2)12.9721|1SORT( 3)12.97081|1TBSCAN( 4)12.96821|35TABLE: SKAPOORSTAFF

該示例顯示,假如在表上發生 WRITE 活動時運行 RUNSTATS,統計數據就可能與本示例中的不一致。因此,用于更新統計數據的 UPDATE

語句可能失敗并產生 SQL1227N 錯誤消息。所有的 UPDATE 語句都運行成功十分重要,假如存在不一致性,就應該進行修理并重新運行。本例中,解決方案是將KEYCARDS 和 NUMRIDS 從 37 重新修改為 35。

標簽: DB2 數據庫
相關文章:
主站蜘蛛池模板: 安图县| 静安区| 留坝县| 米泉市| 临沂市| 自治县| 枣强县| 延吉市| 历史| 岚皋县| 汤阴县| 睢宁县| 湟中县| 马山县| 绥化市| 岑巩县| 长乐市| 西和县| 德惠市| 若尔盖县| 达拉特旗| 永兴县| 合阳县| 凤台县| 新田县| 郑州市| 湖北省| 大同市| 临安市| 永新县| 揭西县| 凤庆县| 玉门市| 琼结县| 雷波县| 广东省| 新沂市| 保德县| 格尔木市| 永顺县| 龙南县|