SVL_COMPILE
记录查询的每个查询段的编译时间和位置。
SVL_COMPILE 对所有用户可见。超级用户可以查看所有行;普通用户只能查看其自己的数据。有关更多信息,请参阅 系统表和视图中的数据可见性。
注意
SVL_COMPILE 仅包含在主集群上运行的查询。它不包含在并发扩展集群上运行的查询。要访问在主集群和并发扩展集群上运行的查询,我们建议您使用 SYS 监控视图 SYS_QUERY_HISTORY。SYS 监控视图中的数据经过格式化处理,便于使用和理解。
有关 SVCS_COMPILE 的信息,请参阅 SVCS_COMPILE。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
userid | integer | 生成该条目的用户 ID。 |
xid | bigint | 与语句关联的事务 ID。 |
pid | integer | 与语句关联的进程 ID。 |
query | integer | 查询 ID。可用于联接各种其他系统表和视图。 |
segment | integer | 要编译的查询段。 |
locus | integer | 运行段的位置。如果在计算节点上,则为 1 ;如果在领导节点上,则为 2 。 |
starttime | timestamp | 开始编译的时间(UTC 时间)。 |
endtime | timestamp | 编译结束的时间(UTC 时间)。 |
compile | integer | 如果编译得到复用,则为 0 ;如果编译了段,则为 1 。 |
示例查询
在本示例中,查询 35878 和 35879 运行相同的 SQL 语句。查询 35878 的编译列针对四个查询段均显示 1
,表明这些段得到编译。查询 35879 的编译列针对每个段均显示 0
,表明这些段无需再次编译。
select userid, xid, pid, query, segment, locus, datediff(ms, starttime, endtime) as duration, compile from svl_compile where query = 35878 or query = 35879 order by query, segment; userid | xid | pid | query | segment | locus | duration | compile --------+--------+-------+-------+---------+-------+----------+--------- 100 | 112780 | 23028 | 35878 | 0 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 1 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 2 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 3 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 4 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 5 | 1 | 0 | 0 100 | 112780 | 23028 | 35878 | 6 | 1 | 1380 | 1 100 | 112780 | 23028 | 35878 | 7 | 1 | 1085 | 1 100 | 112780 | 23028 | 35878 | 8 | 1 | 1197 | 1 100 | 112780 | 23028 | 35878 | 9 | 2 | 905 | 1 100 | 112782 | 23028 | 35879 | 0 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 1 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 2 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 3 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 4 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 5 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 6 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 7 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 8 | 1 | 0 | 0 100 | 112782 | 23028 | 35879 | 9 | 2 | 0 | 0 (20 rows)