広告スペース(バナー)
🗄️SQL レッスン
データ操作とサブクエリ5▾
構文の基本を深める7▾
応用的な条件・結合7▾
検索とテーブル操作の応用6▾
高度なクエリ技法6▾
集計とデータ整合性6▾
レッスン 38 / 50
EXPLAIN QUERY PLANでクエリの動きを見る
このレッスンでは、EXPLAIN QUERY PLANを使ったクエリの実行計画の確認方法を学び、遅いクエリの原因調査ができるようになることを目標にします。「SQL EXPLAIN QUERY PLAN 使い方」で調べている方向けです。
EXPLAIN QUERY PLANをクエリの前に付けると、データベースがそのクエリをどうやって実行しようとしているか(表全体を調べるのか、インデックスを使うのか等)を確認できます。クエリが遅いときの調査の第一歩です。
サンプルコードでは、EXPLAIN QUERY PLAN SELECT * FROM students WHERE score >= 80;という形で、このクエリがどのように実行されるかの計画を表示しています。インデックスが使われているか、テーブル全体を走査しているかといった情報が返ってくる点を確認してみましょう。
初心者がよくつまずくのが、実行計画の結果の読み方です。最初は専門用語が多く難しく感じますが、「SCAN(全件走査)」なのか「SEARCH(インデックスを使った検索)」なのかという大まかな違いだけでも押さえておくと、パフォーマンスの善し悪しを判断する手がかりになります。
「なぜこのクエリは遅いのか」を推測だけで判断するのは難しいですが、実行計画を見れば根拠を持って改善できます。実務でパフォーマンス改善を任されたときに欠かせない調査手法です。
SQL
OUTPUT / 実行結果
💡 初回実行時はSQLエンジンの読み込みに数秒かかります。
🎯
ここまでできればゴール達成!
クエリが内部でどう処理されているかを確認できるようになります。
クエリが内部でどう処理されているかを確認できるようになります。
広告スペース(バナー)
広告スペース(記事内)