STL_QUERY - Amazon Redshift

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

STL_QUERY

データベースクエリに関する実行情報を返します。

注記

STL_QUERYおよびSTL_QUERYTEXTビューには、クエリーに関する情報のみが含まれ、他のユーティリティおよびDDLコマンドに関する情報は含まれません。によって実行されたすべてのステートメントのリストと情報については、 Amazon Redshiftでは、STL_DDLTEXT および STL_UTILITYTEXT ビューもクエリできます。Amazon Redshift によって実行されるすべてのステートメントの完全なリストを取得するには、SVL_STATEMENTTEXT ビューをクエリします。

ディスク領域を管理するために、STLログ ビューには、ログの使用状況と使用可能なディスク領域に応じて、約2~5日分のログ履歴しか保持されません。ログデータを保管するには、定期的に他のテーブルにコピーするか、Amazon S3 にアンロードする必要があります。

このビュー はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できます。通常のユーザーは自分のデータのみを表示できます。詳細については、「Visibility of data in system tables and views」を参照してください。

Table columns

列名。 データ型 説明:
userid integer エントリを生成したユーザーの ID。
query integer クエリ ID。クエリ列は、他の各種システムテーブルおよびビューを結合するために使用できます。
label character(320) クエリを実行するために使用される名前、または SET QUERY_GROUP コマンドによって定義されるラベル。クエリがファイルベースでないか、QUERY_GROUP パラメータが設定されていない場合、このフィールドの値は default になります。
xid bigint トランザクション ID。
pid integer プロセス ID。通常、セッション内のすべてのクエリは同一プロセスで実行されるため、一連のクエリを同一セッションで実行した場合、通常、この値は一定です。Amazon Redshift は特定の内部イベントに続いてアクティブなセッションを再起動し、新しい PID を割り当てる場合があります。詳細については、「STL_RESTARTED_SESSIONS」を参照してください。
database () character(32) クエリが発行されたときにユーザーが接続されたデータベースの名前。
querytxt character(4000) クエリの実際のクエリテキスト。
starttime timestamp UTC で表されたクエリの実行開始時刻。秒の小数部の精度(6 桁)を使用します。例: 2009-06-12 11:29:19.131358.
endtime timestamp UTC で表されたクエリの実行終了時刻。秒の小数部の精度(6 桁)を使用します。例: 2009-06-12 11:29:19.131358.
aborted integer クエリがシステムによって中止またはユーザーによってキャンセルされた場合、この列には 1。 クエリが完了まで実行された場合(クライアントに結果を返す場合を含む)、この列には 0。 結果を受信する前にクライアントが接続を切断した場合、クエリはキャンセル済みとしてマークされます(1)、バックエンドで正常に完了した場合も同様です。
insert_pristine integer 現在のクエリの実行中に、書き込みクエリを実行できたか/実行できたか。1 = 書き込みクエリが許可されない。0 = 書き込みクエリが許可される。この列は、デバッグで使用することが意図されています。
concurrency_scaling_status integer

クエリがメインクラスター、または同時実行スケーリングクラスターのどちらで実行されたかを示します。指定できる値は以下のとおりです。

0 - メインクラスターで実行

1 - 同時実行スケーリングクラスターで実行

1 より大きい - メインクラスターで実行

Sample queries

次のクエリは、最近実行された 5 つのクエリを表示します。

select query, trim(querytxt) as sqlquery from stl_query order by query desc limit 5; query | sqlquery ------+-------------------------------------------------- 129 | select query, trim(querytxt) from stl_query order by query; 128 | select node from stv_disk_read_speeds; 127 | select system_status from stv_gui_status 126 | select * from systable_topology order by slice 125 | load global dict registry (5 rows)

次のクエリは、2013 年 2 月 15 日に実行されたクエリを所要時間の降順で返します。

select query, datediff(seconds, starttime, endtime), trim(querytxt) as sqlquery from stl_query where starttime >= '2013-02-15 00:00' and endtime < '2013-02-15 23:59' order by date_diff desc; query | date_diff | sqlquery -------+-----------+------------------------------------------- 55 | 119 | padb_fetch_sample: select count(*) from category 121 | 9 | select * from svl_query_summary; 181 | 6 | select * from svl_query_summary where query in(179,178); 172 | 5 | select * from svl_query_summary where query=148; ... (189 rows)

以下のクエリは、クエリのキュー時間および実行時間を表示します。concurrency_scaling_status = 1 を使用したクエリは、同時実行スケーリングクラスターで実行されました。他のすべてのクエリは、メインクラスターで実行されました。

SELECT w.service_class AS queue , q.concurrency_scaling_status , COUNT( * ) AS queries , SUM( q.aborted ) AS aborted , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2 ) ) AS queue_secs , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2 ) ) AS exec_secs FROM stl_query q JOIN stl_wlm_query w USING (userid,query) WHERE q.userid > 1 AND service_class > 5 AND q.starttime > '2019-03-01 16:38:00' AND q.endtime < '2019-03-01 17:40:00' GROUP BY 1,2 ORDER BY 1,2;