😎

SQL実行計画の簡単な読み方

に公開

SQL実行計画の簡単な読み方

OracleでSQL性能問題を確認するとき、EXPLAIN PLANやDBMS_XPLANを使うことがあります。
しかし、初心者は項目が多くて混乱しがちです。
ここでは現場で使える「簡単な読み方」をまとめます。


1. 実行計画で見るべき順序

  1. アクセス方法

    • FULL TABLE SCAN / INDEX RANGE SCAN など
    • フルスキャンは件数が多い場合に負荷の原因になりやすい
  2. 結合方法(JOIN)

    • NESTED LOOP / HASH JOIN / MERGE JOIN
    • 大量データの結合方法で性能が大きく変わる
  3. コスト(COST列)

    • 相対的な負荷の目安
    • 高いステップがボトルネックになりやすい

2. 現場での簡単チェックポイント

  • フルスキャンが多いテーブルは負荷注意
  • インデックス利用できているか確認
  • 結合順序やデータ件数のバランスを意識

初動では深追いせず、負荷になりやすい箇所だけ押さえることが効率的です。


3. 改善の第一歩

  • WHERE条件やインデックスの確認
  • SQLを小さく実行して時間やIOを測定
  • 改善前後で実行計画や負荷を比較

これだけでも、初動のチューニング効果が分かります。


まとめ

SQL実行計画を読むときは、

  1. アクセス方法
  2. 結合方法
  3. コスト

この3つを順に確認するだけで、性能問題のボトルネックを素早く特定できます。

Discussion