実行計画という言葉を聞くと何かの計画のように聞こえますね。
IT業界で実行計画とは、通常はクエリ実行計画のことを言います。
目次
クエリ実行計画とは
クエリ実行計画(くえりじっこうけいかく)とは、ユーザが発行したSQLに基づきデータベース管理システム (DBMS) が内部的に生成する情報で、DBMSの行うデータ処理が表示される計画書のことです。
文字どおり「SQLを実行するための計画」と言えばそれまでなのですが、言い換えると、どうしたらより短い時間でSQLを実行できるか、計算して導き出された、具体的な方法を「計画」としてまとめたものと言えます。
ここでデータベース管理システム (DBMS) は、Oracle、SQLServer、MySQL、Postgres等のリレーショナルデーベースのことです。
DBMSはクエリ実行計画を生成するにあたり、クエリ最適化の処理を行い、最も効果的に処理できると判断されたクエリ実行計画をSQLから導き出します。
クエリ実行計画はDBMSがその機能を実現するための内部的な情報に過ぎませんが、ユーザがチューニングを行うとき手がかりとなる情報を提供するために、多くのDBMSが実行計画の表示機能を提供しています。
Oracleの実行計画を取得するEXPLAIN PLAN
Oracleの実行計画を取得するのがEXPLAIN PLANです。
EXPLAIN PLANの使い方
・https://www.shift-the-oracle.com/sql/explain-plan.html
SQL Serverの実行計画を取得するSSMS
SQL Serverの実行計画を取得するのがSSMS (SQL Server Management Studio) です。
SSMSでSQL Serverの実行計画を見てSQLチューニング
・https://poppingcarp.com/sql-tuning/
MySQLとMariaDBの実行計画を取得するEXPLAIN
MySQLとMariaDBの実行計画を確認するのがEXPLAINステートメントです。
EXPLAINを利用するとクエリの実行計画を確認することができ、遅いクエリをチューニングすることが可能になります。
・https://qiita.com/tsuyopon-md/items/9e0517297816f656b541
Postgresの実行計画を取得するEXPLAIN
Postgresの実行計画を確認するのがEXPLAINステートメントです。
Postgresで実行計画を取得して読む方法
・https://tech-blog.rakus.co.jp/entry/20200612/postgreSQL
コメント