STV_EXEC_STATE - Amazon Redshift

STV_EXEC_STATE

コンピュートノードでアクティブに実行されているクエリおよびクエリ手順についての情報を取得するには、STV_EXEC_STATE テーブルを使用します。

この情報は通常、エンジニアリング上の問題を解決する際にのみ使用されます。SVV_QUERY_STATE ビューおよび SVL_QUERY_SUMMARY ビューは、STV_EXEC_STATE から情報を取得します。

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

このテーブルの一部またはすべてのデータは、SYS モニタリングビュー SYS_QUERY_DETAIL でも確認できます。SYS モニタリングビューのデータは、使いやすく理解しやすいようにフォーマットされます。クエリには、SYS モニタリングビューを使用することをお勧めします。

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
query integer クエリ ID。他の各種システムテーブルおよびビューを結合するために使用できます。
slice integer ステップが完了した場合のノードスライスです。
segment integer 実行したクエリのセグメントです。クエリセグメントとは、一連の手順です。
step integer 完了したクエリセグメントのステップです。ステップとは、クエリにより実行される最小の単位です。
starttime timestamp ステップが実行された時刻。
currenttime timestamp 現在の時刻。
tasknum integer ステップを完了するために割り当てられたクエリタスク処理です。
rows bigint 処理された行数。
バイト bigint 処理されたバイト数。
label char(256) クエリステップ名および該当する場合はテーブル ID とテーブル名 (scan tbl=100448 name =user など) からなるステップラベル。3 桁のテーブル ID は通常、一時テーブルのスキャンを照会します。tbl=0 は、通常、定数値のスキャンを指します。
is_diskbased char(1) クエリのこのステップがディスクベースの処理として完了されたかどうかを示します: true (t) または false (f)。ハッシュ、ソート、集計といった特定のステップのみがディスクベースで実行できます。ステップの多くのタイプは、常にメモリ内で完了されます。
workmem bigint ステップに割り当てられた作業メモリのバイト数。
num_parts integer ハッシュテーブルがハッシュステップ中に分割されるパーティションの数。この列にある正の数は、ハッシュステップがディスクベースのオペレーションとして実行されることを示すものではありません。ハッシュステップがディスクベースであったかどうかを調べるには、IS_DISKBASED 列の値を見てください。
is_rrscan char(1) true (t) の場合は、ステップで範囲限定スキャンが使用されたことを示します。デフォルトは false (f) です。
is_delayed_scan char(1) true (t) の場合は、ステップで遅延スキャンが使用されたことを示します。デフォルトは false (f) です。

サンプルクエリ

Amazon Redshift では、STV_EXEC_STATE を直接クエリするのでなく、SVL_QUERY_SUMMARY または SVV_QUERY_STATE をクエリすることをお勧めしています。これにより、STV_EXEC_STATE の情報を見やすい形式で取得することができます。詳細については、SVL_QUERY_SUMMARY または SVV_QUERY_STATE テーブルのドキュメントを参照してください。