PyCharm 2024.3 ヘルプ

クエリ実行計画

EXPLAIN コマンドは、ステートメントの実行計画を表示します。これは、プランナーがステートメントを実行するためにとったアプローチの詳細を確認できることを意味します。例: テーブルのスキャン方法、必要な行を結合するために使用される結合アルゴリズム、ステートメントの実行コスト、その他の情報。

実行コストは、ステートメントの実行にかかる時間に対するプランナーの推測です。測定は、相対コスト単位で行われます。実行コストには、起動と合計の 2 つのオプションがあります。開始コストは、最初の行が処理されるまでにかかる時間を示し、合計コストは、すべての行を処理するのにかかる時間を示します。

PyCharm は、次の 2 種類の実行計画をサポートしています。

  • 計画の表示 : 結果は、専用のプランタブにツリーとテーブルの混合形式で表示されます。

  • 計画の表示 (生) : 結果は表形式で表示されます。

ANALYZE オプションを EXPLAIN とともに使用すると、ステートメントは計画されているだけでなく、実際に実行されます。この場合、実行時の統計をミリ秒単位で確認できます。

クエリプランを視覚化する

  1. SQL ステートメントを右クリックし、計画の表示 | 計画の表示を選択します。

  2. デフォルトでは、サービスツールウィンドウのプランタブにクエリのツリー表現が表示されます。クエリ実行プランを視覚化するには、ダイアグラムの表示ボタン (the Show Visualization icon) をクリックするか、Ctrl+Alt+Shift+U を押します。

EXPLAIN のフレームグラフを生成する

  1. SQL ステートメントを右クリックし、計画の表示 | 計画の表示を選択します。

  2. デフォルトでは、サービスツールウィンドウのプランタブにクエリのツリー表現が表示されます。フレームグラフボタン (the Flame Graph icon) をクリックし、次のオプションから選択します。

    • 合計コスト : すべての行を返すのにかかる時間

    • 開始コスト : 最初の行が処理されるまでにかかる時間。

EXPLAIN ANALYZE のフレームグラフを生成する

  1. SQL ステートメントを右クリックし、計画の表示 | 説明する分析するを選択します。

  2. デフォルトでは、サービスツールウィンドウのプランタブにクエリのツリー表現が表示されます。フレームグラフボタン (the Flame Graph icon) をクリックし、次のオプションから選択します。

    • 合計コスト : すべての行を返すのにかかる時間(相対コスト単位)。

    • 実際の合計時間 : すべての行を返すのにかかる時間(ミリ秒単位)。

    • 開始コスト : 最初の行が処理されるまでにかかる時間(相対コスト単位)。

    • 実際の開始時間 : 最初の行が処理されるまでにかかる時間(ミリ秒単位)。