Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

系统表的类型及视图

系统表分两种类型:STL 表和 STV 表。

STL 表从长久保存到磁盘的用于提供系统历史记录的日志生成。STV 表为包含当前系统数据快照的虚拟表。它们基于临时的内存数据,不会长久保存到基于磁盘的日志或常规表中。包含对临时 STV 表的任意引用的系统视图称为 SVV 视图。只包含对 STL 表的引用的视图称为 SVL 视图。

系统表及视图不使用与常规表相同的一致性模型。在查询它们时,特别是查询 STV 表和 SVV 视图时,一定要注意这个问题。例如,对于包含列 c1 的常规表 t1,下面的查询不会返回任何行:

Copy
select * from t1 where c1 > (select max(c1) from t1)

但是,下面针对系统表的查询可能返回行:

Copy
select * from stv_exec_state where currenttime > (select max(currenttime) from stv_exec_state)

该查询可能返回行的原因在于:currenttime 是临时的,查询中的两个引用在求值时可能返回不同的值。

另一方面,下面的查询也可能不返回行:

Copy
select * from stv_exec_state where currenttime = (select max(currenttime) from stv_exec_state)