STV_TBL_TRANS
使用 STV_TBL_TRANS 表可以找到有关当前位于内存中的临时数据库表的信息。
临时表通常是在运行查询时用作中间结果的临时行集。STV_TBL_TRANS 不同于 STV_TBL_PERM,因为 STV_TBL_PERM 包含有关永久数据库表的信息。
STV_TBL_TRANS 仅对超级用户可见。有关更多信息,请参阅 系统表和视图中的数据可见性。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
slice | integer | 分配到表的节点分片。 |
id | integer | 表 ID。 |
rows | bigint | 表中的数据行数。 |
size | bigint | 分配到表的字节数。 |
query_id | bigint | 查询 ID。 |
ref_cnt | integer | 引用数。 |
from_suspended | integer | 此表是否已在现已暂停的查询期间创建。 |
prep_swap | integer | 此临时表是否准备交换到磁盘(如果需要)。(仅在内存低的情况下发生交换。) |
示例查询
要查看查询 ID 为 90 的查询的临时表信息,请键入以下命令:
select slice, id, rows, size, query_id, ref_cnt from stv_tbl_trans where query_id = 90;
此查询返回查询 90 的临时表信息,如以下示例输出中所示:
slice | id | rows | size | query_ | ref_ | from_ | prep_ | | | | id | cnt | suspended | swap ------+----+------+------+--------+------+-----------+------- 1013 | 95 | 0 | 0 | 90 | 4 | 0 | 0 7 | 96 | 0 | 0 | 90 | 4 | 0 | 0 10 | 96 | 0 | 0 | 90 | 4 | 0 | 0 17 | 96 | 0 | 0 | 90 | 4 | 0 | 0 14 | 96 | 0 | 0 | 90 | 4 | 0 | 0 3 | 96 | 0 | 0 | 90 | 4 | 0 | 0 1013 | 99 | 0 | 0 | 90 | 4 | 0 | 0 9 | 96 | 0 | 0 | 90 | 4 | 0 | 0 5 | 96 | 0 | 0 | 90 | 4 | 0 | 0 19 | 96 | 0 | 0 | 90 | 4 | 0 | 0 2 | 96 | 0 | 0 | 90 | 4 | 0 | 0 1013 | 98 | 0 | 0 | 90 | 4 | 0 | 0 13 | 96 | 0 | 0 | 90 | 4 | 0 | 0 1 | 96 | 0 | 0 | 90 | 4 | 0 | 0 1013 | 96 | 0 | 0 | 90 | 4 | 0 | 0 6 | 96 | 0 | 0 | 90 | 4 | 0 | 0 11 | 96 | 0 | 0 | 90 | 4 | 0 | 0 15 | 96 | 0 | 0 | 90 | 4 | 0 | 0 18 | 96 | 0 | 0 | 90 | 4 | 0 | 0
在此示例中,您可以看到查询数据涉及表 95、96 和 98。由于未向此表分配任何字节数,因此可在内存中运行此查询。