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

STV_EXEC_STATE

使用 STV_EXEC_STATE 表可查看有关正在计算节点上主动运行的查询和查询步骤的信息。

此信息通常仅用于排查工程问题。视图 SVV_QUERY_STATE 和 SVL_QUERY_SUMMARY 从 STV_EXEC_STATE 提取其信息。

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

表列

列名称 数据类型 描述
userid integer 生成条目的用户的 ID。
query integer 查询 ID。可用于联接各种其他系统表和视图。
slice integer 执行步骤的节点分片。
segment integer 执行的查询段。查询段是一系列步骤。
step integer 执行的查询段步骤。步骤是最小的查询执行单元。
starttime timestamp 执行步骤的时间。
currenttime timestamp 当前时间。
tasknum integer 分配到执行步骤的查询任务进程。
rows bigint 已处理的行数。
bytes bigint 已处理的字节数。
label char(256) 由查询步骤名称和适用的表 ID 和表名组成的步骤标签(例如 scan tbl=100448 name =user)。三位表 ID 通常是指临时表的扫描。如果显示 tbl=0,则通常是指扫描常量值。
is_diskbased char(1) 此查询步骤是否已作为基于磁盘的操作执行:true (t) 或 false (f)。只有哈希、排序和聚合等特定步骤才能转到磁盘。许多类型的步骤始终在内存中执行。
workmem bigint 分配给步骤的工作内存的字节数。
num_parts integer 执行哈希步骤期间将哈希表划分成的分区数。估计整个哈希表可能不适合内存时,会对哈希表进行分区。此列中的正数并不表示哈希步骤是作为基于磁盘的操作执行的。请查看 IS_DISKBASED 列中的值以了解哈希步骤是否基于磁盘。
is_rrscan char(1) 如果为 true (t),则表示对步骤使用了限制范围的扫描。默认为 false (f)。
is_delayed_scan char(1) 如果为 true (t),则表示对步骤使用了延迟扫描。默认为 false (f)。

查询示例

Amazon Redshift 建议查询 SVL_QUERY_SUMMARY 或 SVV_QUERY_STATE 以对用户更友好的格式获取 STV_EXEC_STATE 中的信息,而不是直接查询 STV_EXEC_STATE。有关更多详细信息,请参阅 SVL_QUERY_SUMMARYSVV_QUERY_STATE 表文档。

本页内容: