Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

STL_UNIQUE

分析在 SELECT 列表中使用 DISTINCT 函数时或者在 UNION 或 INTERSECT 查询中删除重复项时发生的执行步骤。

此表 对所有用户可见。超级用户可以查看所有行;普通用户只能看到自己的数据。有关更多信息,请参阅 系统表及视图中数据的可见性

表列

列名称 数据类型 描述
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 已处理的总行数。
is_diskbased character(1) 如果为 true (t),则查询是作为基于磁盘的操作执行的。如果为 false (f),则查询是在内存中执行。
slots integer 哈希存储桶的总数。
workmem bigint 已分配给步骤的工作内存中的字节总数。
max_buffers_used bigint 转到磁盘之前在哈希表中使用的缓冲区的最大数量。
type character(6) 步骤的类型。有效值为:
  • HASHED。表示步骤使用了已分组但未排序的聚合。

  • PLAIN。表示步骤使用了未分组的标量聚合。

  • SORTED。表示步骤使用了已分组且已排序的聚合。

示例查询

假设您执行以下查询:

Copy
select distinct eventname from event order by 1;

假定上个查询的 ID 是 6313,以下示例显示由分段 0 和 1 中每个切片的唯一步骤生成的行的数量。

Copy
select query, slice, segment, step, datediff(msec, starttime, endtime) as msec, tasknum, rows from stl_unique where query = 6313 order by query desc, slice, segment, step;
Copy
query | slice | segment | step | msec | tasknum | rows -------+-------+---------+------+------+---------+------ 6313 | 0 | 0 | 2 | 0 | 22 | 550 6313 | 0 | 1 | 1 | 256 | 20 | 145 6313 | 1 | 0 | 2 | 1 | 23 | 540 6313 | 1 | 1 | 1 | 42 | 21 | 127 6313 | 2 | 0 | 2 | 1 | 22 | 540 6313 | 2 | 1 | 1 | 255 | 20 | 158 6313 | 3 | 0 | 2 | 1 | 23 | 542 6313 | 3 | 1 | 1 | 38 | 21 | 146 (8 rows)

本页内容: