STV_INFLIGHT
使用 STV_INFLIGHT 表可确定当前正在对集群运行的查询。STV_INFLIGHT 不会显示仅领导节点查询。有关更多信息,请参阅仅领导节点函数。
STV_INFLIGHT 对所有用户可见。超级用户可以查看所有行;普通用户只能查看其自己的数据。有关更多信息,请参阅系统表和视图中的数据可见性。
表列
| 列名称 | 数据类型 | 描述 |
|---|---|---|
| userid | integer | 生成条目的用户的 ID。 |
| slice | integer | 正在运行查询的分片。 |
| query | integer | 查询 ID。可用于联接各种其他系统表和视图。 |
| label | character(320) | 用于运行查询的文件的名称或使用 SET QUERY_GROUP 命令定义的标签。如果查询并非基于文件或未设置 QUERY_GROUP 参数,则此字段为空。 |
| xid | bigint | 事务 ID。 |
| pid | integer | 进程 ID。会话中的所有查询在同一进程中运行,因此,如果您在同一会话中运行一系列查询,则此值保持不变。您可以使用此列联接到 STL_ERROR 表。 |
| starttime | timestamp | 开始查询的时间。 |
| text | character(100) | 查询文本,截断为 100 个字符(如果语句超过此限制)。 |
| suspended | integer | 查询是否已暂停。0 = false;1 = true。 |
| insert_pristine | integer | 当前查询正在运行时,是否可以运行写查询。1 = 不允许写查询。0 = 允许写查询。此列专用在调试中。 |
| concurrency_scaling_status | integer | 指示查询运行在主集群还是并发扩展集群上,可能值如下所示: 0 - 运行在主集群上 1 - 运行在并发扩展集群上 |
示例查询
要查看当前正在对数据库运行的所有活动查询,请键入以下查询:
select * from stv_inflight;
下面的示例输出显示当前正在运行两个查询,其中包括 STV_INFLIGHT 查询自身和已从名为 avgwait.sql 的脚本运行的查询:
select slice, query, trim(label) querylabel, pid, starttime, substring(text,1,20) querytext from stv_inflight; slice|query|querylabel | pid | starttime | querytext -----+-----+-----------+-----+--------------------------+-------------------- 1011 | 21 | | 646 |2012-01-26 13:23:15.645503|select slice, query, 1011 | 20 |avgwait.sql| 499 |2012-01-26 13:23:14.159912|select avg(datediff( (2 rows)