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

結果は、専用の クエリプラン タブにツリー形式と表形式を組み合わせた形式で表示されます。 クエリプラン タブの詳細については、 サービスツールウィンドウのトピックを参照してください。
クエリプランをコピーする
クエリプランは、JSON や XML など、データベースのネイティブ形式でコピーできます。
SQL ステートメントを右クリックし、
を選択します。
または、ツールバーの
プランの説明 をクリックし、 プランの説明 を選択します。
クエリプラン タブで、左側のツールバー上部にある
元のクエリプランをコピー をクリックします。
これは、PostgreSQL、Amazon Redshift、MySQL、MariaDB、Oracle、Microsoft SQL サーバー、Snowflake:Snowflake「Snowflake」/Snowflake.topicSnowflake-attribute-titleSnowflake でサポートされています。

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