メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

STL_SCAN

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

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

テーブルの列

列名 データ型 説明
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 処理された合計行数。
bytes bigint ステップのすべての出力行のサイズ(バイト単位)。
fetches bigint This information is for internal use only.
type integer スキャンタイプの ID。有効な値のリストについては、次の表を参照してください。
tbl integer テーブル ID。
is_rrscan character(1) true (t) の場合は、ステップで範囲限定スキャンが使用されたことを示します。
is_delayed_scan character(1) This information is for internal use only.
rows_pre_filter bigint 永続テーブルのスキャンの場合は、削除対象としてマークされた行 (非実体の行) をフィルタリングする前でユーザー定義のクエリフィルタが適用される前に出力された合計行数。
rows_pre_user_filter bigint 永続テーブルのスキャンの場合は、削除対象としてマークされた行 (非実体の行) をフィルタリングした後でユーザー定義のクエリフィルタが適用される前に処理された行数。
perm_table_name character(136) 永続テーブルのスキャンの場合は、スキャンされたテーブルの名前。

スキャンタイプ

タイプ ID 説明
1 ネットワークからのデータ。
2 圧縮された共有メモリ内のパーマネントユーザーテーブル。
3 行が認識される一時テーブル。
21 Amazon S3 からロードするファイル。
22 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 よりも大きいことを示しています。

Copy
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)