实体化视图查询 - Amazon Redshift

实体化视图查询

可以通过将实体化视图名称引用为数据来源(例如表或标准视图)来在任何 SQL 查询中使用实体化视图。

当查询访问实体化视图时,它只会看到最近一次刷新时存储在实体化视图中的数据。因此,查询可能不会从实体化视图的相应基表中看到所有最新更改。

如果其他用户需要查询实体化视图,实体化视图的拥有者必须向这些用户授予 SELECT 权限。其他用户不需要对基础基表具有 SELECT 权限。实体化视图的拥有者还可以撤消其他用户的 SELECT 权限,以防止他们查询实体化视图。

如果实体化视图的拥有者不再对基础基表具有 SELECT 权限,则:

  • 拥有者无法再查询实体化视图。

  • 对实体化视图具有 SELECT 权限的其他用户无法再查询实体化视图。

以下示例查询 tickets_mv 实体化视图。有关用于创建实体化视图的 SQL 命令的更多信息,请参阅CREATE MATERIALIZED VIEW

SELECT sold FROM tickets_mv WHERE catgroup = 'Concerts';

由于查询结果是预先计算的,因此无需访问基础表(categoryeventsales)。Amazon Redshift 可以直接从tickets_mv返回结果。