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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

STL_HASH

分析查询的哈希执行步骤。

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

表列

列名称 数据类型 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 该步骤中所有输出行的大小 (以字节为单位)。
slots integer 哈希存储桶的总数。
occupied integer 包含记录的槽位的总数。
maxlength integer 最大槽位的大小。
tbl integer 表 ID。
is_diskbased character(1) 如果为 true (t),则查询是作为基于磁盘的操作执行的。如果为 false (f),则查询是在内存中执行。
workmem bigint 分配给步骤的工作内存的字节总数。
num_parts integer 哈希表在一个哈希步骤期间被分为的分区的总数。当估计整个哈希表可能在内存中放不下时,将会对哈希表进行分区。
est_rows bigint 要进行哈希处理的行的估计数量。
num_blocks_permitted integer This information is for internal use only.
resizes integer This information is for internal use only.
checksum bigint This information is for internal use only.
runtime_filter_size integer 运行时筛选器的大小(以字节为单位)。
max_runtime_filter_size integer 运行时筛选器的最大大小(以字节为单位)。

示例查询

以下示例返回有关在查询 720 的哈希中使用的分区数量的信息,并指示在磁盘上未运行任何步骤。

select slice, rows, bytes, occupied, workmem, num_parts, est_rows, num_blocks_permitted, is_diskbased from stl_hash where query=720 and segment=5 order by slice;
slice | rows | bytes | occupied | workmem | num_parts | est_rows | num_blocks_permitted | is_diskbased -------+------+--------+----------+----------+-----------+----------+----------------------+-------------- 0 | 145 | 585800 | 1 | 88866816 | 16 | 1 | 52 f 1 | 0 | 0 | 0 | 0 | 16 | 1 | 52 f (2 rows)