STL_SCAN - Amazon Redshift
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

STL_SCAN

分析查询的表扫描步骤。此表中行的步骤数始终为 0,因为扫描是分段中的第一步。

此视图 对所有用户可见。超级用户可以查看所有行;普通用户只能看到自己的数据。有关更多信息,请参阅 Visibility of data in system tables and views

Table columns

列名称 数据类型 Description
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 character1. 如果为 true (t),则表示对步骤使用了限制范围的扫描。
is_delayed_scan character1. This information is for internal use only.
rows_pre_filter bigint 对于永久表的扫描,这是在筛选标记为删除的行(虚影行)之前和应用用户定义的查询筛选条件之前发出的行的总数。
rows_pre_user_filter bigint 对于永久表的扫描,这是在筛选标记为删除的行(虚影行)之后但在应用用户定义的查询筛选条件之前处理的行的数量。
perm_table_name character(136) 对于永久表的扫描,这是扫描的表的名称。
is_rlf_scan character1. 如果为 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 character1. 如果为 true (t),则表示应用了运行时筛选器。

Scan types

类型 ID Description
1 网络中的数据。
2. 压缩共享内存中的永久用户表。
3 临时行式表。
21. 从 Amazon S3 加载文件。
22. 从 Amazon DynamoDB 加载表。
23. 从远程 SSH 连接中加载数据。
:24 从远程集群(已排序区域)中加载数据。这可用于调整大小。
25* 从远程集群(未排序区域)中加载数据。这可用于调整大小。

Usage notes

理想理 rows 应该相对接近 rows_pre_filter。大量差异 rowsrows_pre_filter 表示执行引擎正在扫描稍后丢弃的行,这是低效的。rows_pre_filterrows_pre_user_filter 之间的区别是扫描中虚影行的数量。运行 VACUUM 可移除标记为删除的行。rowsrows_pre_user_filter 之间的区别是查询筛选的行的数量。如果用户筛选器丢弃了大量行,则查看您选择的排序列,或者,如果这是由于大量未排序的区域造成的,请运行 vacuum。

Sample queries

以下示例显示 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)