Oracle SQL Developer で実行計画を比較してみた

今回は SQL Developer で実行計画を表示し、二つの実行計画を比較する機能を試してみました。

まず、データベースに接続して、右側に表示される Worksheet に比較したい SQL を記載します。

WS000031

最初の SQL を反転させて右から 3 つ目のアイコンの Autotrace か 4 つめの Explain Plan を実行します。Autotrace と Explain Plan の違いは Autotrace は実際に実行し、フェッチして行も取り出します。Explain Plan は実行計画のみ生成し、実際に SQL の実行は行いません。実際の時間を計測する場合には Autotrace が有効です。

WS000032

すると、右下に実行計画が表示されます。

WS000033

ここで、表示された Autotrace の左上に Pin のアイコンがありますのでこれをクリックします。

WS000034

同じように 2 つ目の SQL を反転させ、Autotrace か Explain Plan を実行します。

WS000035

すると、右下に新たなタブとして 2 つめの SQL の実行計画が表示されました。

WS000036

 

ここで、表示された実行計画のタブ上で右クリックを実行し Compare with Autotrace1 を選択します。

WS000037

そうすると実行計画を比較した結果が表示されました。異なる部分が赤くなるようです。

WS000038

今回は簡単な SQL で試しましたが、複雑な SQL の実行計画の比較では視覚的にも見やすく使えるかなと思いました。

また、次回も SQL Developer ネタで攻めていきたいと思います。

 

 

r3negis

著者について:

株式会社コーソルで Oracle Database と MySQL のサポートをメイン業務としています。本サイトの投稿内容は私個人の私的な見解であり、所属企業・部門見解を代表するものではありません。

コメントを残す