具體化視觀表查詢 - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

具體化視觀表查詢

您可以透過參考作為資料來源的具體化視觀表名稱在任何 SQL 查詢中使用具體化視觀表,就如同資料表或標準檢視。

當查詢存取具體化視觀表時,其只會看見最近一次重新整理後儲存在具體化視觀表中的資料。因此,查詢可能無法看見具體化視觀表所對應基底資料表中所有最新的變更。

如果其他使用者希望查詢具體化視觀表,具體化視觀表的擁有者會將 SELECT 許可授予那些使用者。其他使用者不需要對基礎的基底資料表具備 SELECT 許可。具體化視觀表的擁有者也可以撤銷其他使用者的 SELECT 許可,防止他們查詢具體化視觀表。請注意,其他使用者仍須具有包含具體化視觀表基礎資料表的結構描述上的 USAGE 許可。

如果具體化視觀表的擁有者不再擁有對基礎資料表的本機 SELECT 許可:

  • 擁有者無法再查詢具體化視觀表。

  • 其他對具體化視觀表擁有 SELECT 許可的使用者無法再查詢具體化視觀表。

這僅限於本機許可。查詢具體化視觀表時,不會驗證 Lake Formation 所管理許可的變更。這表示,如果基礎資料表是由 Lake Formation 管理,而在 Lake Formation 中資料表的選取許可遭到撤銷,您仍然可以查詢具體化視觀表。

以下範例會查詢 tickets_mv 具體化視觀表。如需用來建立具體化視觀表的 SQL 命令相關資訊,請參閱 CREATE MATERIALIZED VIEW

SELECT sold FROM tickets_mv WHERE catgroup = 'Concerts';

因為查詢結果是預先運算的,因此無須存取基礎資料表 (categoryeventsales)。Amazon Redshift 可以直接從 tickets_mv 傳回結果。