「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
STL_SCAN
テーブルをスキャンするステップをクエリについて分析します。スキャンは 1 つのセグメント内で最初のステップなので、このテーブルに含まれる行のステップ番号は常に 0 です。
このビュー はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できます。通常のユーザーは自分のデータのみを表示できます。詳細については、「Visibility of data in system tables and views」を参照してください。
テーブルの列
列名 | データ型 | 説明 |
---|---|---|
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) | 永続テーブルのスキャンの場合は、スキャンされたテーブルの名前。 |
is_rlf_scan | character(1) | true (t) の場合は、ステップで低レベルフィルタリングが使用されたことを示します。 |
is_rlf_scan_reason | integer | This information is for internal use only. |
num_em_blocks | integer | This information is for internal use only. |
checksum | bigint | This information is for internal use only. |
runtime_filtering | character(1) | true(t) の場合、ランタイムフィルタが適用されていることを示します。 |
スキャンタイプ
タイプ ID | 説明 |
---|---|
1 | ネットワークからのデータ。 |
2 | 圧縮された共有メモリ内のパーマネントユーザーテーブル。 |
3 | 行が認識される一時テーブル。 |
21 | Amazon S3 からロードするファイル。 |
22 | Amazon DynamoDB からテーブルをロードします。 |
23 | リモート SSH 接続からのロードデータ。 |
24 | リモートクラスター (ソート済みリージョン) からのロードデータ。これは、サイズを変更するために使用されます。 |
25 | リモートクラスター (未ソートリージョン) からのロードデータ。これは、サイズを変更するために使用されます。 |
使用に関する注意事項
が rows
と相対的に近いことが理想的です。rows_pre_filter
と rows
の間に大きな差異がある場合は、後で破棄される行を実行エンジンがスキャンしていることが考えられ、非効率です。rows_pre_filter
rows_pre_filter
と rows_pre_user_filter
の差異は、スキャンに含まれる非実体行の数に相当します。削除対象としてマークされた行を削除するには、VACUUM を実行します。rows
と rows_pre_user_filter
の差異は、クエリによってフィルタリングされる行の数に相当します。多数の行がユーザーフィルタによって破棄される場合は、ソート列の選択を見直すか、未ソートリージョンが大きいことが原因である場合は、バキュームを実行します。
サンプルクエリ
次の例は、バキュームされていない行 (非実体行) がテーブルによって削除されたため、rows_pre_filter
が rows_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)