クエリ実行計画
EXPLAIN コマンドは、ステートメントの実行計画を表示します。 これは、プランナーがステートメントを実行するためにとったアプローチの詳細を確認できることを意味します。 例: テーブルのスキャン方法、必要な行を結合するために使用される結合アルゴリズム、ステートメントの実行コスト、その他の情報。
実行コストは、ステートメントの実行にかかる時間に対するプランナーの推測です。 測定は、相対コスト単位で行われます。 実行コストには、起動と合計の 2 つのオプションがあります。 開始コストは、最初の行が処理されるまでにかかる時間を示し、合計コストは、すべての行を処理するのにかかる時間を示します。
DataGrip は、 EXPLAIN コマンドに対して以下のアクションを提供します:
計画の表示: その声明はあくまで予定されているものです。
説明する分析する: このステートメントは、計画されただけでなく、実際に実行されます。 この場合、実行時間の統計情報をミリ秒単位で確認できます。
これらのアクションは、コードエディターのツールバーにある 計画の表示 ドロップダウンにあります。 また、 コードエディターのコンテキストメニューからも呼び出すことができます。

結果は、専用の クエリプラン タブにツリー形式と表形式を組み合わせた形式で表示されます。 クエリプラン タブの詳細については、 サービスツールウィンドウのトピックを参照してください。
DataGrip で EXPLAIN クエリプランを生成する方法を紹介する次の動画をご覧ください。
クエリプランをコピーする
クエリプランは、JSON や XML など、データベースのネイティブ形式でコピーできます。
SQL ステートメントを右クリックし、
を選択します。
または、ツールバーの
計画の表示 をクリックし、 計画の表示 を選択します。
クエリプラン タブで、左側のツールバー上部にある
元のクエリプランをコピー をクリックします。
これは PostgreSQL、Amazon Redshift 、MySQL、MariaDB、Oracle、Microsoft SQL Server 、Snowflake でサポートされています。

クエリプランを視覚化する
SQL ステートメントを右クリックし、
を選択します。
または、ツールバーの
計画の表示 をクリックし、 計画の表示 を選択します。
デフォルトでは、クエリプランのツリー表示が サービス ツールウィンドウの クエリプラン タブに表示されます。 クエリ実行プランを表示するには、
ダイアグラムの表示… をクリックするか、 Ctrl+Alt+Shift+U を押します。
クエリプランで利用可能なさまざまなビューは、個別の内部タブに表示されます。 これらの内部タブは、 クエリプラン タブの下部からアクセスできます。 デフォルトでは非表示になっており、複数のタブが開いている場合にのみ表示されます。
EXPLAIN のフレームグラフを生成する
SQL ステートメントを右クリックし、
を選択します。
または、ツールバーの
計画の表示 をクリックし、 計画の表示 を選択します。
デフォルトでは、クエリプランのツリー表示が サービス ツールウィンドウの クエリプラン タブに表示されます。
フレームグラフ をクリックし、以下のオプションから選択します。
合計コスト :すべての行を返すのにかかる時間。
開始コスト: 最初の行が処理されるまでにかかる時間。
DataGrip は、新しく開いたグラフを別の内部タブに表示し、ツリー表示は オペレーションツリー の内部タブに保持します。
