STL_LIMIT - Amazon Redshift

STL_LIMIT

SELECT クエリ内で LIMIT 句が使用されるときに発生する実行ステップを分析します。

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

注記

STL_LIMIT には、メインクラスターで実行されるクエリのみが含まれます。同時実行スケーリングクラスターで実行されるクエリは含まれていません。メインクラスターおよび同時実行スケーリングクラスターの両方で実行されるクエリにアクセスするには、SYS モニタリングビュー SYS_QUERY_DETAIL を使用することをお勧めします。SYS モニタリングビューのデータは、使いやすく理解しやすいようにフォーマットされます。

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
query integer クエリ ID。クエリ列は、他の各種システムテーブルおよびビューを結合するために使用できます。
slice integer クエリが実行されていたスライスを識別する番号。
segment integer クエリセグメントを識別する番号。
step integer 実行されたクエリステップ。
starttime timestamp UTC で表されたクエリの開始時間。合計時間にはキューイングと実行が含まれます。秒の小数部は 6 桁の精度で表されます。例: 2009-06-12 11:29:19.131358
endtime timestamp クエリの実行が完了した時刻 (UTC)。合計時間にはキューイングと実行が含まれます。秒の小数部は 6 桁の精度で表されます。例: 2009-06-12 11:29:19.131358
tasknum integer ステップ実行に割り当てられたクエリタスク処理の数。
rows bigint 処理された合計行数。
checksum bigint この情報は、内部使用に限定されています。

サンプルクエリ

STL_LIMIT に行を作成するために、この例ではまず、LIMIT 句を使用する次のクエリを VENUE テーブルに対して実行します。

select * from venue order by 1 limit 10;
venueid | venuename | venuecity | venuestate | venueseats ---------+----------------------------+-----------------+------------+------------ 1 | Toyota Park | Bridgeview | IL | 0 2 | Columbus Crew Stadium | Columbus | OH | 0 3 | RFK Stadium | Washington | DC | 0 4 | CommunityAmerica Ballpark | Kansas City | KS | 0 5 | Gillette Stadium | Foxborough | MA | 68756 6 | New York Giants Stadium | East Rutherford | NJ | 80242 7 | BMO Field | Toronto | ON | 0 8 | The Home Depot Center | Carson | CA | 0 9 | Dick's Sporting Goods Park | Commerce City | CO | 0 10 | Pizza Hut Park | Frisco | TX | 0 (10 rows)

次に、VENUE テーブルに対して最後に実行したクエリのクエリ ID を取得するために、次のクエリを実行します。

select max(query) from stl_query;
max -------- 127128 (1 row)

オプションで次のクエリを実行することにより、このクエリ ID が実行済みの LIMIT クエリに対応していることを確認できます。

select query, trim(querytxt) from stl_query where query=127128;
query | btrim --------+------------------------------------------ 127128 | select * from venue order by 1 limit 10; (1 row)

最後に、次のクエリを実行して、LIMIT クエリに関する情報を STL_LIMIT テーブルから返します。

select slice, segment, step, starttime, endtime, tasknum from stl_limit where query=127128 order by starttime, endtime;
slice | segment | step | starttime | endtime | tasknum -------+---------+------+----------------------------+----------------------------+--------- 1 | 1 | 3 | 2013-09-06 22:56:43.608114 | 2013-09-06 22:56:43.609383 | 15 0 | 1 | 3 | 2013-09-06 22:56:43.608708 | 2013-09-06 22:56:43.609521 | 15 10000 | 2 | 2 | 2013-09-06 22:56:43.612506 | 2013-09-06 22:56:43.612668 | 0 (3 rows)