本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
STL_SAVE
包含查询中的保存 步骤的详细信息。保存步骤将输入流保存到一个临时表。临时表是查询执行期间存储中间结果的临时表。
一个查询包含多个区段,而且每个区段包含一个或多个步骤。有关更多信息,请参阅查询处理。
STL_SAVE 对所有用户可见。超级用户可以查看所有行;普通用户只能看到自己的数据。有关更多信息,请参阅 Visibility of data in system tables and views。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
userid | integer | 生成该条目的用户 ID。 |
query | integer | 查询 ID。查询列可用于连接其他系统表和视图。 |
slice | integer | 识别查询运行所在分片的数目。 |
segment | integer | 标识查询区段的数字。 |
step | integer | 已执行的查询步骤。 |
starttime | timestamp | 开始执行查询的时间 (用 UTC 表示),有 6 位数字精度,可精确到小数秒。例如:2009-06-12 11:29:19.131358 。
|
endtime | timestamp | 完成查询的时间 (用 UTC 表示),有 6 位数字精度,可精确到小数秒。例如:2009-06-12 11:29:19.131358 。
|
tasknum | integer | 分配执行该步骤的查询任务流程的数目。 |
rows | bigint | 已处理的总行数。 |
bytes | bigint | 该步骤中所有输出行的大小(以字节为单位)。 |
tbl | integer | 具体化临时表的 ID。 |
is_diskbased | character(1) | 此查询步骤是否已作为基于磁盘的操作执行:true (t ) 或 false (f )。
|
workmem | bigint | 分配给步骤的工作内存的字节数。 |
示例查询
以下查询显示最近查询中在每个切片上执行的保存步骤。
select query, slice, segment, step, tasknum, rows, tbl from stl_save where query = pg_last_query_id(); query | slice | segment | step | tasknum | rows | tbl -------+-------+---------+------+---------+------+----- 52236 | 3 | 0 | 2 | 21 | 0 | 239 52236 | 2 | 0 | 2 | 20 | 0 | 239 52236 | 2 | 2 | 2 | 20 | 0 | 239 52236 | 3 | 2 | 2 | 21 | 0 | 239 52236 | 1 | 0 | 2 | 21 | 0 | 239 52236 | 0 | 0 | 2 | 20 | 0 | 239 52236 | 0 | 2 | 2 | 20 | 0 | 239 52236 | 1 | 2 | 2 | 21 | 0 | 239 (8 rows)