創建物化視圖

適用於:檢查標記是的磚的SQL

預覽

這個特性是在公共預覽。注冊訪問,填寫這張表格

一個物化視圖是一個視圖,預先計算的結果可供查詢,可以更新,以反映變化的輸入。每次刷新物化視圖,查詢結果重新計算,以反映上遊數據集的變化。物化視圖是由一個DLT管道。你可以手動刷新物化視圖,一個時間表,或安排他們包含的DLT管道。

語法

創建物化視圖(如果存在]view_name(column_list](view_clauses]作為查詢column_list({column_alias(評論column_comment]}(,])view_clauses{分區通過(上校(,])|評論view_comment|TBLPROPERTIES條款|時間表(刷新]CRONcron_string(時間timezone_id]}(]

參數

  • 如果不存在

    如果它不存在創建視圖。這個名字已經存在,如果一個視圖的創建視圖聲明將被忽略。

    您可以指定最多之一如果存在刷新

  • view_name

    新創建的視圖的名稱。完全限定的視圖名稱必須是唯一的。

  • column_list

    可選標簽視圖的查詢結果的列。如果你提供一個列列表的數量列別名必須匹配的數量表達式查詢中。如果沒有指定列名單、別名來自身體的觀點。

    • column_alias

      列別名必須是唯一的。

    • column_comment

      一個可選的字符串文字描述列別名。

  • view_clauses

    選擇指定分區、評論、用戶定義的屬性,為新的物化視圖刷新進度。每個子條款可能隻被指定一次。

    • 分區的

      一個可選的表列列表分區的表。

    • 評論view_comment

      一個字符串文字描述表。

    • TBLPROPERTIES

      選擇一個或多個用戶定義的屬性集。

    • 日程安排(刷新)CRON cron_string(時區timezone_id)

      如果提供,時間流表或物化視圖刷新與給定的數據石英cron時間表。隻有time_zone_values被接受。時間當地的不支持。如果時間不在,使用會話時區。如果時間缺席和會話時區沒有設置,則拋出一個錯誤。時間表語義上等價於時間表刷新

      你不能使用時間表語法在三角洲住表中管道的定義。

  • 作為查詢

    構造的查詢視圖從基表或其他的觀點。

需要的權限

的用戶創建一個物化視圖(MV)是MV所有者和需要以下權限:

  • 選擇在基表引用的MV特權。

  • 使用特權的目錄和包含它的模式。

  • 創建特權模式MV。

隻有所有者才能刷新MV。

用戶能夠查詢MV,他們要求:

  • 使用特權模式包含在目錄和MV。

  • 選擇物化視圖特權。

限製

  • 當一個物化視圖總和總在NULL-able列最後一個非空值從列,因此隻刪除值保持在這一列——物化視圖的合成聚合值而不是返回零

  • 列引用不需要一個別名。Non-column引用表達式需要一個別名,如以下示例:

    • 允許:選擇col1,總和(col2)作為sum_col2t集團通過col1

    • 不允許:選擇col1,總和(col2)t集團通過col1

  • 物化視圖不支持身份列或代理鍵。

  • 物化視圖不支持特別優化真空命令。維護自動發生。

例子

——創建物化視圖如果它不存在>創建物化視圖如果存在subscribed_movies作為選擇member_id,mbfull_name,movie_title電影作為內心的加入成員作為mbmember_id=mbid;——創建和安排一個物化視圖刷新每日午夜。——注意:所有列在一群需要明確的別名>創建物化視圖daily_sales評論日常銷售數據的時間表CRON0 0 0 * * ?*’作為選擇日期作為日期,總和(銷售)作為sumOfSales表1集團通過日期;