SQLのアクセス・プランを確認する
SQLのアクセス・プランを確認する手順のメモです。ちょっとさわってみただけの簡単なメモなので詳しくは以下を参照。
概要
- EXPLAIN表を作成する
- 「explain all for
」というSQL文を実行する。 - 「db2exfmt」コマンドを使ってアクセスプランを出力する。
1.EXPLAIN表を作成する
以下のコマンドを実行してEXPLAIN表を作成します。
$ db2 -tvf <DB2のインストールディレクトリ 例) /opt/ibm/db2/V9.1 >/misc/EXPLAIN.DDL
2.「explain all for 」というSQL文を実行する。
調査したいSQLを指定して「explain all for」を実行します。
$ db2 connect to <データベース> $ db2 "explain all for <SQL文>"
具体例。
$ db2 connect to foodb $ db2 "explain all for select * from A"
3.「db2exfmt」コマンドを使ってアクセスプランを出力する。
@IT SQLを分析する高度なテクニックからのコピペです。
$ db2exfmt -d <データベース> -g tic -n % -s % -w % -# 0 -o <出力先ファイル>
具体例。
$ db2exfmt -d foodb -g tic -n % -s % -w % -# 0 -o result.txt
以上で、<出力先ファイル>にアクセスプランが出力されるはず。