STV_WLM_QUERY_STATE - Amazon Redshift

STV_WLM_QUERY_STATE

记录 WLM 正在跟踪的查询的当前状态。

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

此表中的部分或全部数据也可以在 SYS 监控视图 SYS_QUERY_HISTORY 中找到。SYS 监控视图中的数据经过格式化处理,便于使用和理解。我们建议您使用 SYS 监控视图进行查询。

表列

列名称 数据类型 描述
xid integer 查询或子查询的事务 ID。
task integer 用于通过工作负荷管理器跟踪查询的 ID。可与多个查询 ID 关联。如果重新启动了某个查询,则会为该查询分配一个新的查询 ID 但不分配新的任务 ID。
query integer 查询 ID。如果重新启动了某个查询,则会为该查询分配一个新的查询 ID 但不分配新的任务 ID。
service_class integer 服务类的 ID。有关服务类 ID 的列表,请参阅 WLM 服务类 ID
slot_count integer WLM 查询槽位数。
wlm_start_time timestamp 查询进入系统表队列或短查询队列的时间。
state character(16) 查询或子查询的当前状态。

可能的值包括:

  • Classified – 查询已分配给服务类。

  • Completed – 查询已完成运行。查询要么成功运行,要么已被取消。对于最终状态,请检查 STL_QUERY 的结果。

  • Dequeued – 仅限内部使用。

  • Evicted – 查询已从服务类中移出以重新启动。

  • Evicting – 正在从服务类中移出查询以重新启动。

  • Initialized – 仅限内部使用。

  • Invalid – 仅限内部使用。

  • Queued – 查询被发送到查询队列,因为没有可用于运行查询队列的插槽。

  • QueuedWaiting – 查询在查询队列中等待。

  • Rejected – 仅限内部使用。

  • Returning – 查询将结果返回到客户端。

  • Running – 查询正在运行。

  • TaskAssigned – 仅限内部使用。

queue_time bigint 查询在队列中已耗费的微秒数。
exec_time bigint 查询已运行的微秒数。
query_priority char(20) 查询的优先级。可能的值为 n/alowestlownormalhighhighest,其中 n/a 表示不支持查询优先级。

示例查询

以下查询显示当前正在 4 以上服务类中执行的所有查询。有关服务类 ID 的列表,请参阅 WLM 服务类 ID

select xid, query, trim(state) as state, queue_time, exec_time from stv_wlm_query_state where service_class > 4;

此查询返回以下示例输出:

xid | query | state | queue_time | exec_time -------+-------+---------+------------+----------- 100813 | 25942 | Running | 0 | 1369029 100074 | 25775 | Running | 0 | 2221589242