全部產品
Search
文件中心

AnalyticDB:全量重新整理物化視圖

更新時間:Sep 13, 2024

您可以在建立物化視圖時指定重新整理模式。

許可權要求

  • 建立視圖需要有資料庫或表層級的CREATE許可權。

  • 重新整理物化視圖需要有資料庫或表層級的INSERT許可權。

  • 需要有物化視圖所涉及的所有表的相關列(或整個表)的SELECT許可權。

  • 如果在建立物化視圖時指定物化視圖為自動重新整理模式,需要具備通過伺服器本地(即127.0.0.1)或者任意IP(即'%')重新整理視圖的許可權。

使用建議

若叢集規格較小,盡量避免在同一時刻重新整理叢集內的所有物化視圖,以免影響叢集穩定性。

建立物化視圖時指定重新整理模式

CREATE [OR REPLACE] MATERIALIZED VIEW <mv_name>
[MV DEFINITION]
[REFRESH [COMPLETE|FAST] [ON [DEMAND |OVERWRITE] [START WITH date] [NEXT date]]]
[QUERY REWRITE]
AS 
<QUERY BODY>;
  • 物化視圖重新整理模式分為全量重新整理(COMPLETE)和增量重新整理(FAST)。如果未指定重新整理模式,預設為全量重新整理。全量重新整理會計算重新整理時刻的查詢結果,並且用覆蓋的方式替換原來的結果。

    說明

    3.1.9.0及以上版本支援單表增量重新整理物化視圖;3.2.0.0及以上版本支援多表增量重新整理物化視圖。詳情請參見增量重新整理物化視圖(預發)

    • 查看湖倉版叢集的核心版本,請執行SELECT adb_version();。如需升級核心版本,請聯絡支援人員。

    • 查看和升級數倉版叢集的核心版本,請參見查看和升級版本

  • 物化視圖重新整理觸發機制分為按需重新整理(ON DEMAND)和基表被INSERT OVERWRITE覆寫後自動重新整理(ON OVERWRITE)。如果未指定觸發方式,預設為按需重新整理。

全量重新整理

全量重新整理既支援手動重新整理,也支援自動重新整理。

適用情境

全量重新整理適用於T+1類的離線情境。常見的適用情境如下:

  • 資料每天批次更新一次,或者小時層級更新一次,更適合全量重新整理。這類SQL通常比較複雜,全量重新整理對SQL文法沒有任何約束。

  • 在某些分鐘層級延遲的情境中也可以使用全量重新整理,往往這類SQL即使全量計算成本也不大,通常十幾秒能完成,還可以達到一定的即時效果。

樣本

  • 手動重新整理。樣本如下:

    CREATE MATERIALIZED VIEW my_mv1
    REFRESH COMPLETE
    AS
    SELECT * FROM base;
    REFRESH MATERIALIZED VIEW my_mv;
  • 按需自動重新整理。每天淩晨2點重新整理,樣本如下:

    CREATE MATERIALIZED VIEW my_mv2
    REFRESH COMPLETE ON DEMAND
     START WITH DATE_FORMAT(now() + interval 1 day, '%Y-%m-%d 02:00:00')
     NEXT DATE_FORMAT(now() + interval 1 day, '%Y-%m-%d 02:00:00')
    AS
    SELECT * FROM base;
    說明

    如果某次重新整理所用的時間超過自動重新整理指定的時間間隔,會自動跳過超過的時間點,等到下次最近的時間點再重新整理。

    假設自動重新整理設定是在00:05:00, 00:10:00, 00:15:00這3個時間點,間隔5分鐘。如果00:05:00時候開始了某次重新整理,一直到00:12:00重新整理才結束,那麼設定的00:10:00重新整理會被跳過,直到00:15:00再開始重新整理。

  • 基表被INSERT OVERWRITE覆寫後觸發物化視圖自動重新整理。樣本如下:

    建立物化視圖:

    CREATE MATERIALIZED VIEW my_mv3
    REFRESH COMPLETE ON OVERWRITE
    AS
    SELECT * FROM base;

    物化視圖引用的基表在執行INSERT OVERWRITE語句導致資料被覆蓋後,會觸發自動重新整理。

    INSERT OVERWRITE base SELECT * FROM t0; 

增量重新整理

增量重新整理僅支援按需自動重新整理。增量重新整理請參見物化視圖增量重新整理(預覽版)

相關文檔