pgAdminIIIでクエリプランをグラフ化

| コメント(0)

バイト先で使っていたら意外に使われていなかったようなので紹介。
フリーのDBMSであるpostgreSQLのwindows版をinstallすると標準でくっついてくるpgAdminIIIにはクエリプランをグラフ化してくれる機能が付いている。

流石にバイト先のDBは見せられないので研究室のサーバで例を...。

まず、サーバに繋ぎ、DBを選択し、sqlボタンを押す。
pgadminIII.jpg

昔にもちょこっと書いたけど、SQLのコストを調べる場合、まずvacuum analyze(or analyze オンリー)で現在のテーブルの大きさをDBMSに把握させ、実行するSQL全体をexplain analyze(またはexplainのみ)でくくる。
pgadminIII_2.jpg

大抵の場合、この結果を見てどの辺がボトルネックなのか調べるわけですが、explain の結果はちょっと見づらい。この例ではまだ4テーブルの結合だからいいけどもっと多く結合する場合、ネストしまくるので、追いづらくなる。

pgAdminIIIを使っているのなら、explainでSQLをくくらずにF7キー一発でグラフ化できる。(ただし、explain analyzeと同様、実時間も計測したかったらメニューにあるクエリーから > 解釈 クエリー > 解釈オプション > アナライズを選択する必要アリ)
pgadminIII_3.jpg

こっちの方が圧倒的に見やすい。矢印の太さでコストの大小が分かる。

ちなみにグラフ中のアイコンをクリックすれば詳細が出てくる。
pgadminIII_4.jpg

--
postgreSQL以外のDBMSだとどうなんだろう?まだ調べてないや。

このブログ記事について

このページは、Lyoが2008年3月13日 01:06に書いたブログ記事です。

ひとつ前のブログ記事は「Module::Starter::PBPの件、その後」です。

次のブログ記事は「部屋の掃除」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 7.9.3