すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:クエリ診断

最終更新日:Sep 24, 2024

AnalyticDB for PostgreSQLは、クエリ診断機能を提供します。 クエリ分析と最適化のためのSQL実行計画と統計を表示できます。 このトピックでは、クエリ診断機能の使用方法について説明します。

前提条件

インスタンスはエラスティックストレージモードで、V6.3.10.1以降のマイナーエンジンバージョンを実行します。 インスタンスのマイナーエンジンバージョンを表示および更新する方法については、「インスタンスのマイナーバージョンの表示」および「インスタンスのマイナーバージョンの更新」をご参照ください。

使用上の注意

[クエリ診断] タブには、完了までに1秒以上かかるSQLクエリのみが表示されます。

手順

  1. AnalyticDB for PostgreSQLコンソールにログインします。

  2. コンソールの左上隅で、リージョンを選択します。

  3. 管理するインスタンスを見つけて、インスタンスIDをクリックします。

  4. 左側のナビゲーションウィンドウで、診断と最適化 > クエリ分析.

  5. 右上隅にクエリ診断タブで、データベース、フィルター条件、および時間範囲を選択して、クエリ実行情報を表示します。

    [クエリ診断] タブには、クエリ実行情報を表示するための次のセクションがあります。

    • クエリ実行swimlaneダイアグラム

      スイムレーン図の各カラーブロックは、クエリ実行プロセスを示す。 各カラーブロックの上にポインターを移動してクエリの実行情報を表示し、[詳細] をクリックして [クエリのプロパティ] ページに移動します。 クエリのプロパティページの詳細については、このトピックの「クエリのプロパティ」を参照してください。

    • SQLクエリ

      クエリリスト内の情報の各行は、クエリ実行プロセスを示す。 クエリの実行に関する情報がリストに表示されます。 [操作] 列の [診断] をクリックして、[クエリのプロパティ] ページに移動します。 クエリのプロパティページの詳細については、このトピックの「クエリのプロパティ」を参照してください。

      次の表に、SQLクエリリストに含まれる情報を示します。

      パラメーター

      説明

      SQLステートメント

      クエリのSQLステートメント。

      開始時間

      クエリの開始時刻。

      クエリID

      クエリの一意のID。

      セッションID

      クエリのセッションID。

      データベース

      照会されるデータベースの名前。

      Status

      クエリの状態。 有効な値:

      • 完了しました

      • Running

      有効期間

      クエリに消費された合計時間。 単位は秒です。

      ユーザー名

      クエリを実行するユーザー。

      [ダウンロード] をクリックすると、情報をコンピューターにダウンロードできます。

クエリのプロパティ

[クエリのプロパティ] ページには、[クエリ文][実行計画テキスト][実行計画ツリー] の3つのタブがあります。

クエリ文

[クエリ文] タブには、SQLクエリ文が表示されます。

実行プランのテキスト

[実行計画テキスト] タブには、EXPLAINステートメントから取得した実行計画が表示されます。 実行計画の詳細については、「実行計画」をご参照ください。

実行プランツリー

[実行計画ツリー] タブには、実行計画を示すツリーグラフがあります。 左側に実行計画ツリーが表示され、右側にオペレータ実行統計が表示されます。 ツリー内の各オペレータカードをクリックすると、オペレータの統計を表示できます。

デフォルトでは、各オペレーターカードの下の行は、すべてのオペレーターの中でのオペレーターの実行期間の割合を示し、すべてのオペレーターは、実行期間でソートされたタブの右上隅に一覧表示されます。 また、メモリ使用量、ディスク読み取りデータ量、ディスク読み取り時間、送信データ量、またはデータ送信時間で演算子を並べ替え、比率の合計を計算することもできます。

次の表に、演算子の実行統計を示します。

パラメーター

説明

オペレータ名

オペレータの名前とIDの組み合わせ。 プランツリーではユニークです。

タイプID

オペレータのタイプID。

データ型

演算子のタイプ名。 この値は、プランツリー内で一意である必要はありません。

出力行

演算子が上位レベルの演算子に出力するデータの行数。

入力行

オペレータが下位レベルのオペレータまたはディスクから読み取ったデータの行数。

実行によって使用されるメモリ

演算子の実行によって使用されるメモリの量。

説明

このメモリ量は、Sort、Hash、およびHash Aggregate演算子に対してのみ測定され、他の演算子に対しては無視されます。 これは、他の演算子の実行が少量のメモリしか占有しないためです。

実行期間

オペレータの実行に費やされた時間。

ディスク読み取りデータ量

オペレータがディスクから読み取ったデータの総量。

説明

このデータ量には、スキャンオペレータによって読み取られた生データと、メモリ不足のために他のオペレータによってこぼれたデータが含まれます。

ディスク読み取り時間

ディスクからデータを読み取るためにオペレーターが費やした時間。

送信データ量

Motion演算子間で送信されるデータの合計量。

データ送信期間

Motion演算子間でデータを送信するのにかかる時間。