

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# STL\_HASH
<a name="r_STL_HASH"></a>

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

STL\_HASH 对所有用户可见。超级用户可以查看所有行；普通用户只能查看其自己的数据。有关更多信息，请参阅 [系统表和视图中的数据可见性](cm_chap_system-tables.md#c_visibility-of-data)。

**注意**  
STL\_HASH 仅包含在主预置集群上运行的查询。它不包含在并发扩展集群或无服务器命名空间上运行的查询。要访问在主集群、并发扩展集群和无服务器命名空间上运行的查询的解释计划，我们建议您使用 SYS 监控视图 [SYS\_QUERY\_DETAIL](SYS_QUERY_DETAIL.md)。SYS 监控视图中的数据经过格式化处理，便于使用和理解。

## 表列
<a name="r_STL_HASH-table-columns"></a>


| 列名称  | 数据类型  | 描述  | 
| --- | --- | --- | 
| 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 | 整数 | 分配用于运行步骤的查询任务进程的数量。 | 
| 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 | 此信息仅供内部使用。 | 
| resizes | integer | 此信息仅供内部使用。 | 
| checksum | bigint | 此信息仅供内部使用。 | 
| runtime\_filter\_size | integer | 运行时筛选器的大小（以字节为单位）。 | 
| max\_runtime\_filter\_size | integer | 运行时筛选器的最大大小（以字节为单位）。 | 

## 示例查询
<a name="r_STL_HASH-sample-queries"></a>

以下示例返回有关在查询 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)
```