- PR -

DB2UDB統計情報を手動で書き換える方法について

1
投稿者投稿内容
たわし
会議室デビュー日: 2003/03/05
投稿数: 10
投稿日時: 2005-02-03 18:36
あるテーブルを作成しました。
10万件のデータを想定したテーブルですが、
RUNSTATで得られた統計情報を手動で直し、
あたかも10万件あるかのように最適な
アクセスプランを導きたいのですが、
どこのシステムカタログを変更すれば
よいのかわかりません。

すいません。教えてください。
DB2UDB v8.1 for linux
ishi
会議室デビュー日: 2004/07/16
投稿数: 17
投稿日時: 2005-02-04 10:28
件数に相当するのは sysstat.tables の card です。

「SYSSTAT.TABLES カタログ・ビュー」マニュアル
http://www.db2.jp/db2manual/ja_JP/index.htm?openup=admin/r0001073.htm

例)

db2 connect to sample
db2 "explain all with snapshot for select * from staff"
db2exfmt -d sample -t -1

(省略)

Access Plan:
-----------
Total Cost: 25.0799
Query Degree: 1

Rows
RETURN
( 1)
Cost
I/O
|
68
TBSCAN
( 2)
25.0799
1
|
68 ←←←←←←←←←←←←←←←←←
TABLE: ISHI
STAFF

(省略)

db2 "update syssta.tables set card=100000 where tabname='staff'"
db2 "explain all with snapshot for select * from staff"
db2exfmt -d sample -t -1

(省略)

Access Plan:
-----------
Total Cost: 308.346
Query Degree: 1

Rows
RETURN
( 1)
Cost
I/O
|
10000
TBSCAN
( 2)
308.346
12
|
10000 ←←←←←←←←←←←←←←←←
TABLE: ISHI
STAFF

(省略)


[ メッセージ編集済み 編集者: ishi 編集日時 2005-02-04 10:40 ]
niji
会議室デビュー日: 2001/10/26
投稿数: 12
投稿日時: 2005-02-04 16:27
ishiさんありがとうございました。
助かりました。
静的SQLなので、あとはBINDして
PLANに関するシステムカタログを見てみれば
いいんですね。
1

スキルアップ/キャリアアップ(JOB@IT)