STL_SCAN - Amazon Redshift

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

STL_SCAN

テーブルをスキャンするステップをクエリについて分析します。スキャンは 1 つのセグメント内で最初のステップなので、このテーブルに含まれる行のステップ番号は常に 0 です。

This view is visible to all users. Superusers can see all rows; regular users can see only their own data. 詳細については、「システムテーブルとビューのデータの可視性」を参照してください。

テーブルの列

列名 データ型 説明
userid integer エントリを生成したユーザーの ID。
query integer クエリ ID。クエリ列は、他の各種システムテーブルおよびビューを結合するために使用できます。
slice integer Number that identifies the slice where the query was running.
segment integer クエリセグメントを識別する番号。
step integer 実行されたクエリステップ。
starttime timestamp UTC で表されたクエリの実行開始時刻。秒の小数部の精度(6 桁)を使用します。次に例を示します。2009-06-12 11:29:19.131358.
endtime timestamp Time in UTC that the query finished executing, with 6 digits of precision for fractional seconds. 次に例を示します。2009-06-12 11:29:19.131358.
tasknum integer Number of the query task process that was assigned to execute the step.
rows bigint Total number of rows that were processed.
バイト bigint ステップのすべての出力行のサイズ (バイト単位)。
fetches bigint この情報は、内部使用に限定されています。
type integer スキャンタイプの ID。有効な値のリストについては、次の表を参照してください。
tbl integer テーブル ID。
is_rrscan character(1) true (t) の場合は、ステップで範囲限定スキャンが使用されたことを示します。
is_delayed_scan character(1) この情報は、内部使用に限定されています。
rows_pre_filter bigint 永続テーブルのスキャンの場合は、削除対象としてマークされた行 (非実体の行) をフィルタリングする前でユーザー定義のクエリフィルタが適用される前に出力された合計行数。
rows_pre_user_filter bigint 永続テーブルのスキャンの場合は、削除対象としてマークされた行 (非実体の行) をフィルタリングした後でユーザー定義のクエリフィルタが適用される前に処理された行数。
perm_table_name character(136) 永続テーブルのスキャンの場合は、スキャンされたテーブルの名前。
is_rlf_scan character(1) true (t) の場合は、ステップで低レベルフィルタリングが使用されたことを示します。
is_rlf_scan_reason integer この情報は、内部使用に限定されています。
num_em_blocks integer この情報は、内部使用に限定されています。
checksum bigint この情報は、内部使用に限定されています。
runtime_filtering character(1) true(t) の場合、ランタイムフィルタが適用されていることを示します。

スキャンタイプ

タイプ ID Description
1 ネットワークからのデータ。
2 圧縮された共有メモリ内のパーマネントユーザーテーブル。
3 行が認識される一時テーブル。
21 Load files from Amazon S3.
22 Load tables from Amazon DynamoDB.
23 リモート SSH 接続からのロードデータ。
24 リモートクラスター (ソート済みリージョン) からのロードデータ。これは、サイズを変更するために使用されます。
25 リモートクラスター (未ソートリージョン) からのロードデータ。これは、サイズを変更するために使用されます。

使用に関する注意事項

rowsrows_pre_filter と相対的に近いことが理想的です。rowsrows_pre_filter の間に大きな差異がある場合は、後で破棄される行を実行エンジンがスキャンしていることが考えられ、非効率です。rows_pre_filterrows_pre_user_filter の差異は、スキャンに含まれる非実体行の数に相当します。削除対象としてマークされた行を削除するには、VACUUM を実行します。rowsrows_pre_user_filter の差異は、クエリによってフィルタリングされる行の数に相当します。多数の行がユーザーフィルタによって破棄される場合は、ソート列の選択を見直すか、未ソートリージョンが大きいことが原因である場合は、バキュームを実行します。

サンプルクエリ

次の例は、バキュームされていない行 (非実体行) がテーブルによって削除されたため、rows_pre_filterrows_pre_user_filter よりも大きいことを示しています。

SELECT slice, segment,step,rows, rows_pre_filter, rows_pre_user_filter from stl_scan where query = pg_last_query_id(); query | slice | segment | step | rows | rows_pre_filter | rows_pre_user_filter -------+--------+---------+------+-------+-----------------+---------------------- 42915 | 0 | 0 | 0 | 43159 | 86318 | 43159 42915 | 0 | 1 | 0 | 1 | 0 | 0 42915 | 1 | 0 | 0 | 43091 | 86182 | 43091 42915 | 1 | 1 | 0 | 1 | 0 | 0 42915 | 2 | 0 | 0 | 42778 | 85556 | 42778 42915 | 2 | 1 | 0 | 1 | 0 | 0 42915 | 3 | 0 | 0 | 43428 | 86856 | 43428 42915 | 3 | 1 | 0 | 1 | 0 | 0 42915 | 10000 | 2 | 0 | 4 | 0 | 0 (9 rows)