STL_DIST
记录有关在执行分配数据的查询步骤期间的网络活动的信息。将按照在对给定切片执行给定步骤期间通过网络发送的行、字节和数据包的数量来捕获网络流量。步骤的持续时间是记录的开始时间与结束时间之差。
要标识查询中的分配步骤,请在 QUERY_SUMMARY 视图中查找 dist 标签或者运行 EXPLAIN 命令,然后查找包含 dist 的步骤属性。
STL_DIST 对所有用户可见。超级用户可以查看所有行;普通用户只能查看其自己的数据。有关更多信息,请参阅 系统表和视图中的数据可见性。
注意
STL_DIST 仅包含在主集群上运行的查询。它不包含在并发扩展集群上运行的查询。要访问在主集群和并发扩展集群上运行的查询,我们建议您使用 SYS 监控视图 SYS_QUERY_DETAIL。SYS 监控视图中的数据经过格式化处理,便于使用和理解。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
userid | integer | 生成该条目的用户 ID。 |
query | integer | 查询 ID。查询列可用于连接其他系统表和视图。 |
slice | integer | 标识运行查询所在切片的标识符。 |
segment | integer | 标识查询区段的数字。 |
step | integer | 运行的查询步骤。 |
starttime | 时间戳 | 查询开始的时间(采用 UTC 表示)。总时间包括排队和执行时间。秒的小数部分以 6 位精度表示。例如:2009-06-12 11:29:19.131358 。 |
endtime | 时间戳 | 查询完成的时间(采用 UTC 表示)。总时间包括排队和执行时间。秒的小数部分以 6 位精度表示。例如:2009-06-12 11:29:19.131358 。 |
tasknum | 整数 | 分配用于运行步骤的查询任务进程的数量。 |
rows | bigint | 处理的总行数。 |
bytes | bigint | 该步骤中所有输出行的大小(以字节为单位)。 |
packets | integer | 通过网络发送的数据包的总数。 |
示例查询
以下示例返回具有一个或多个数据包且持续时间大于零的查询的分配信息。
select query, slice, step, rows, bytes, packets, datediff(seconds, starttime, endtime) as duration from stl_dist where packets>0 and datediff(seconds, starttime, endtime)>0 order by query limit 10;
query | slice | step | rows | bytes | packets | duration --------+-------+------+--------+---------+---------+----------- 567 | 1 | 4 | 49990 | 6249564 | 707 | 1 630 | 0 | 5 | 8798 | 408404 | 46 | 2 645 | 1 | 4 | 8798 | 408404 | 46 | 1 651 | 1 | 5 | 192497 | 9226320 | 1039 | 6 669 | 1 | 4 | 192497 | 9226320 | 1039 | 4 675 | 1 | 5 | 3766 | 194656 | 22 | 1 696 | 0 | 4 | 3766 | 194656 | 22 | 1 705 | 0 | 4 | 930 | 44400 | 5 | 1 111525 | 0 | 3 | 68 | 17408 | 2 | 1 (9 rows)