SVL_COMPILE - Amazon Redshift

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)