

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 实体化视图查询
<a name="materialized-view-query"></a>

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

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

如果其他用户需要查询实体化视图，实体化视图的拥有者必须向这些用户授予 SELECT 权限。其他用户不需要对基础基表具有 SELECT 权限。实体化视图的拥有者还可以撤消其他用户的 SELECT 权限，以防止他们查询实体化视图。请注意，其它用户仍需要对包含实体化视图的基表的架构具有 USAGE 权限。

如果实体化视图的拥有者不再对基础基表具有本地 SELECT 权限，则：
+ 拥有者无法再查询实体化视图。
+ 对实体化视图具有 SELECT 权限的其他用户无法再查询实体化视图。

这仅限于本地权限。查询实体化视图时不会验证由 Lake Formation 管理的权限的更改。这意味着，如果基础基表由 Lake Formation 管理，并且在 Lake Formation 中撤消了对该表的选择权限，则您仍可以查询实体化视图。

以下示例查询 `tickets_mv` 实体化视图。有关用于创建实体化视图的 SQL 命令的更多信息，请参阅[CREATE MATERIALIZED VIEW](materialized-view-create-sql-command.md)。

```
SELECT sold
FROM tickets_mv
WHERE catgroup = 'Concerts';
```

由于查询结果是预先计算的，因此无需访问基础表（`category`、`event` 和 `sales`）。Amazon Redshift 可以直接从`tickets_mv`返回结果。