AnalyticDB for PostgreSQLは、クエリ診断機能を提供します。 クエリ分析と最適化のためのSQL実行計画と統計を表示できます。 このトピックでは、クエリ診断機能の使用方法について説明します。
前提条件
インスタンスはエラスティックストレージモードで、V6.3.10.1以降のマイナーエンジンバージョンを実行します。 インスタンスのマイナーエンジンバージョンを表示および更新する方法については、「インスタンスのマイナーバージョンの表示」および「インスタンスのマイナーバージョンの更新」をご参照ください。
使用上の注意
[クエリ診断] タブには、完了までに1秒以上かかるSQLクエリのみが表示されます。
手順
AnalyticDB for PostgreSQLコンソールにログインします。
コンソールの左上隅で、リージョンを選択します。
管理するインスタンスを見つけて、インスタンスIDをクリックします。
左側のナビゲーションウィンドウで、 .
右上隅にクエリ診断タブで、データベース、フィルター条件、および時間範囲を選択して、クエリ実行情報を表示します。
[クエリ診断] タブには、クエリ実行情報を表示するための次のセクションがあります。
クエリ実行swimlaneダイアグラム
スイムレーン図の各カラーブロックは、クエリ実行プロセスを示す。 各カラーブロックの上にポインターを移動してクエリの実行情報を表示し、[詳細] をクリックして [クエリのプロパティ] ページに移動します。 クエリのプロパティページの詳細については、このトピックの「クエリのプロパティ」を参照してください。
SQLクエリ
クエリリスト内の情報の各行は、クエリ実行プロセスを示す。 クエリの実行に関する情報がリストに表示されます。 [操作] 列の [診断] をクリックして、[クエリのプロパティ] ページに移動します。 クエリのプロパティページの詳細については、このトピックの「クエリのプロパティ」を参照してください。
次の表に、SQLクエリリストに含まれる情報を示します。
パラメーター
説明
SQLステートメント
クエリのSQLステートメント。
開始時間
クエリの開始時刻。
クエリID
クエリの一意のID。
セッションID
クエリのセッションID。
データベース
照会されるデータベースの名前。
Status
クエリの状態。 有効な値:
完了しました
Running
有効期間
クエリに消費された合計時間。 単位は秒です。
ユーザー名
クエリを実行するユーザー。
[ダウンロード] をクリックすると、情報をコンピューターにダウンロードできます。
クエリのプロパティ
[クエリのプロパティ] ページには、[クエリ文] 、[実行計画テキスト] 、[実行計画ツリー] の3つのタブがあります。
クエリ文
[クエリ文] タブには、SQLクエリ文が表示されます。
実行プランのテキスト
[実行計画テキスト] タブには、EXPLAINステートメントから取得した実行計画が表示されます。 実行計画の詳細については、「実行計画」をご参照ください。
実行プランツリー
[実行計画ツリー] タブには、実行計画を示すツリーグラフがあります。 左側に実行計画ツリーが表示され、右側にオペレータ実行統計が表示されます。 ツリー内の各オペレータカードをクリックすると、オペレータの統計を表示できます。
デフォルトでは、各オペレーターカードの下の行は、すべてのオペレーターの中でのオペレーターの実行期間の割合を示し、すべてのオペレーターは、実行期間でソートされたタブの右上隅に一覧表示されます。 また、メモリ使用量、ディスク読み取りデータ量、ディスク読み取り時間、送信データ量、またはデータ送信時間で演算子を並べ替え、比率の合計を計算することもできます。
次の表に、演算子の実行統計を示します。
パラメーター | 説明 |
オペレータ名 | オペレータの名前とIDの組み合わせ。 プランツリーではユニークです。 |
タイプID | オペレータのタイプID。 |
データ型 | 演算子のタイプ名。 この値は、プランツリー内で一意である必要はありません。 |
出力行 | 演算子が上位レベルの演算子に出力するデータの行数。 |
入力行 | オペレータが下位レベルのオペレータまたはディスクから読み取ったデータの行数。 |
実行によって使用されるメモリ | 演算子の実行によって使用されるメモリの量。 説明 このメモリ量は、Sort、Hash、およびHash Aggregate演算子に対してのみ測定され、他の演算子に対しては無視されます。 これは、他の演算子の実行が少量のメモリしか占有しないためです。 |
実行期間 | オペレータの実行に費やされた時間。 |
ディスク読み取りデータ量 | オペレータがディスクから読み取ったデータの総量。 説明 このデータ量には、スキャンオペレータによって読み取られた生データと、メモリ不足のために他のオペレータによってこぼれたデータが含まれます。 |
ディスク読み取り時間 | ディスクからデータを読み取るためにオペレーターが費やした時間。 |
送信データ量 | Motion演算子間で送信されるデータの合計量。 |
データ送信期間 | Motion演算子間でデータを送信するのにかかる時間。 |