メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

STL_WLM_QUERY

WLM が扱うサービスクラス内で実行が試みられたクエリごとに、レコードが 1 件作成されます。

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

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
xid integer クエリまたはサブクエリのトランザクション ID。
task integer ワークロードマネージャ全体を通じてクエリを追跡するために使用される ID。複数のクエリ ID と関連付けることができます。クエリを再起動すると、そのクエリには新しいタスク ID ではなく、新しいクエリ ID が割り当てられます。
query integer クエリ ID。クエリを再起動すると、そのクエリには新しいタスク ID ではなく、新しいクエリ ID が割り当てられます。
service_class integer サービスクラスの ID。サービスクラスは、WLM 設定ファイル内で定義されます。
slot_count integer WLM クエリスロットの数。
service_class_start_time timestamp クエリがサービスクラスに割り当てられた時刻。
queue_start_time timestamp クエリがサービスクラスのキューに入れられた時刻。
queue_end_time timestamp クエリがサービスクラスのキューから解放された時刻。
total_queue_time bigint クエリがキュー内で消費した時間の合計 (マイクロ秒単位)。
exec_start_time timestamp サービスクラス内でクエリの実行が始まった時刻。
exec_end_time timestamp サービスクラス内でクエリの実行が完了した時刻。
total_exec_time bigint クエリが実行にかかった時間 (マイクロ秒単位)。
service_class_end_time timestamp クエリがサービスクラスから解放された時刻。
final_state character(16) 将来の利用のために予約されています。
est_peak_mem bigint 将来の利用のために予約されています。

サンプルクエリ

クエリがキューと実行にかかった平均時間の表示

サービスクラス 1~4 は Amazon Redshift によって内部的に使用され、サービスクラス 5 は専用スーパーユーザーキューのために予約されています。次のクエリでは、4 以上のサービスクラスの現在の設定を表示します。これには、スーパーユーザーキューおよび WLM クエリキューが含まれます。

次のクエリは、各クエリがクエリキュー内に置かれていた時間および実行にかかった時間の平均を、サービスクラス別にマイクロ秒単位で返します。

Copy
select service_class as svc_class, count(*), avg(datediff(microseconds, queue_start_time, queue_end_time)) as avg_queue_time, avg(datediff(microseconds, exec_start_time, exec_end_time )) as avg_exec_time from stl_wlm_query where service_class > 4 group by service_class order by service_class;

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

Copy
svc_class | count | avg_queue_time | avg_exec_time -----------+-------+----------------+--------------- 5 | 20103 | 0 | 80415 5 | 3421 | 34015 | 234015 6 | 42 | 0 | 944266 7 | 196 | 6439 | 1364399 (4 rows)

クエリがキューと実行にかかった最大時間の表示

次のクエリは、クエリがいずれかのクエリキュー内に置かれていた時間と実行にかかった時間の最大値を、サービスクラスごとにマイクロ秒単位で返します。

Copy
select service_class as svc_class, count(*), max(datediff(microseconds, queue_start_time, queue_end_time)) as max_queue_time, max(datediff(microseconds, exec_start_time, exec_end_time )) as max_exec_time from stl_wlm_query where svc_class > 5 group by service_class order by service_class;
Copy
svc_class | count | max_queue_time | max_exec_time -----------+-------+----------------+--------------- 6 | 42 | 0 | 3775896 7 | 197 | 37947 | 16379473 (4 rows)

このページの内容: