メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

SVL_QUERY_SUMMARY

SVL_QUERY_SUMMARY ビューを使用して、クエリの実行についての全般的な情報を確認します。

SVL_QUERY_SUMMARY ビューには SVL_QUERY_REPORT ビューからのデータのサブセットが含まれます。SVL_QUERY_SUMMARY の情報はすべてのノードからの情報の集計であることに注意してください。

注記

SVL_QUERY_SUMMARY ビューには、Amazon Redshift が実行したクエリについての情報のみが含まれます。その他のユーティリティや DDL コマンドの情報は含まれません。DDL やユーティリティコマンドを含む、Amazon Redshift が実行するすべてのステートメントに関する完全なリストと情報については、SVL_STATEMENTTEXT ビューをクエリすることで取得できます。

SVL_QUERY_SUMMARY はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できます。通常のユーザーは自分のデータのみを表示できます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
query integer クエリ ID。他の各種システムテーブルおよびビューを結合するために使用できます。
stm integer ストリーム。クエリの並行セグメントのセット。クエリには 1 つ以上のストリームがあります。
seg integer セグメント番号。複数のセグメントから構成された 1 つのクエリ。各セグメントは 1 つ以上のステップから構成されます。複数のクエリセグメントを同時に実行できます。各セグメントは 1 つのプロセスで実行されます。
step integer 実行されたクエリステップ。
maxtime bigint ステップを実行する最大の時間 (マイクロ秒)。
avgtime bigint ステップを実行する平均の時間 (マイクロ秒)。
rows bigint クエリステップに含まれるデータ行の数。
バイト bigint クエリステップに含まれるデータバイトの数。
rate_row double precision 行ごとのクエリ実行率。
rate_byte double precision バイトごとのクエリ実行率。
label text ステップラベル。これは、クエリステップ名と、該当する場合はテーブル ID とテーブル名 (例: scan tbl=100448 name =user) で構成されます。3 桁のテーブル ID は通常、一時テーブルのスキャンを照会します。 tbl=0 は、通常、定数値のスキャンを指します。
is_diskbased character(1) クエリのこのステップがクラスターのいずれかのノードでディスクベース演算として実行されたかどうか: true (t) または false (f)。ハッシュ、ソート、集計といった特定のステップのみがディスクベースで実行できます。それ以外のタイプのステップはメモリ内でのみ実行されます。
workmem bigint クエリステップに割り当てられた作業メモリの量 (バイト単位)。
is_rrscan character(1) true (t) の場合は、ステップで範囲限定スキャンが使用されたことを示します。デフォルトは false (f) です。
is_delayed_scan character(1) true (t) の場合は、ステップで遅延スキャンが使用されたことを示します。デフォルトは false (f) です。
rows_pre_filter bigint 永続テーブルのスキャンの場合、削除対象としてマークされた行をフィルタリングする前に出力された合計行数 (非実体の行)。

サンプルクエリ

クエリステップの処理情報を表示する

次のクエリは、クエリ 87 の各ステップの基本的な処理情報を示します。

Copy
select query, stm, seg, step, rows, bytes from svl_query_summary where query = 87 order by query, seg, step;

このクエリは次のサンプル出力で示されているように、クエリ 87 についての処理情報を取得します。

Copy
query | stm | seg | step | rows | bytes -------+-----+-----+------+--------+--------- 87 | 0 | 0 | 0 | 90 | 1890 87 | 0 | 0 | 2 | 90 | 360 87 | 0 | 1 | 0 | 90 | 360 87 | 0 | 1 | 2 | 90 | 1440 87 | 1 | 2 | 0 | 210494 | 4209880 87 | 1 | 2 | 3 | 89500 | 0 87 | 1 | 2 | 6 | 4 | 96 87 | 2 | 3 | 0 | 4 | 96 87 | 2 | 3 | 1 | 4 | 96 87 | 2 | 4 | 0 | 4 | 96 87 | 2 | 4 | 1 | 1 | 24 87 | 3 | 5 | 0 | 1 | 24 87 | 3 | 5 | 4 | 0 | 0 (13 rows)

クエリのステップがディスクに書き出されたかどうかを確認する

次のクエリは、クエリ ID 1025 (SVL_QLOGを参照して、クエリのクエリ ID の取得方法を確認してください) のクエリのステップがディスクに書き出されたかどうか、またはクエリが完全にインメモリで実行されたかどうかを示します。

Copy
select query, step, rows, workmem, label, is_diskbased from svl_query_summary where query = 1025 order by workmem desc;

このクエリは、次のサンプル出力を返します。

Copy
query| step| rows | workmem | label | is_diskbased -----+-----+--------+-----------+---------------+-------------- 1025 | 0 |16000000| 141557760 |scan tbl=9 | f 1025 | 2 |16000000| 135266304 |hash tbl=142 | t 1025 | 0 |16000000| 128974848 |scan tbl=116536| f 1025 | 2 |16000000| 122683392 |dist | f (4 rows)

IS_DISKBASED の値をスキャンすることで、ディスクに書き出されたクエリステップを確認できます。 クエリ 1025 のハッシュステップはディスクで実行されました。ディスクで実行される可能性があるステップは、ハッシュ、集計、ソートステップを含みます。 ディスクベースクエリのステップのみを表示するには、前述の例の SQL ステートメントに and is_diskbased = 句を追加します。

このページの内容: