DB2探検隊(2001/07/22)

 CQ出版社から出ているOpen Designという雑誌の2001年9月号にServletとJSPの記事を書き、そこで使っているLinux版DB2が付録のCD-ROMに収録されました。V7.1パーソナル開発者版とそのFixPack3です。これらはIBMのサイトから無料でダウンロードできますが、350Mバイトくらいあるので、ちょっとダウンロードには決心がいるかもしれません。ダウンロードするかどうか迷っていた人は、ぜひ雑誌を購入しましょう。おまけで、上記記事などが付いてきます(どちらが本体やら ^^;)。(Linux版だけなのですけどね)

 DB2 Developer Domainの「カンタン! DB2テクテク第1歩」という連載があって、初心者向けの入門かと思ったらそうではなかったのですが、その中にExplainアクセスプラン編というのがあったので、その一部を簡単に試してみました。

 詳細はともかく(^^;)、とりあえずサンプルデータベースに対して実行してみます。コントロールセンタを起動して、データベースのSAMPLEのところで「SQLのExplain...」というのを起動し、select firstnme, lastname from employee where salary > 30000のようなSQL文を入力して実行してみると、次のような結果になりました。

 この画面の見方は、なんとなく(^^;)、「EMPLOYEE表をテーブルスキャンして結果を得る」という処理を行うつもりであり、それにはコストが50.17かかる、ということを言っているようです。

 テーブルスキャンは気に入らないので、ではSALARYにインデックスを追加するとどうなるかを試してみました。インデックスの追加もコントロールセンタから行えるんですね。その結果はこちら。

 お、なんか図の形が変わっています(低レベル ^^;)。これはおそらく、「EMPLOYEE表のSALARY_INDEXをスキャンして、その結果得られたレコード番号か何かでフェッチするという処理を行って結果を得る」つもりで、そのコストは25.10と言っているのでしょう。前の半分のコストになっていますね。

 これなら簡単にわかっていいなあ(処理が簡単すぎてつまらないのではありますが)。


[DB2探検隊の目次] [ホーム]