日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

全量刷新物化視圖

更新時間:

您可以在創建物化視圖時指定刷新模式。

權限要求

  • 創建視圖需要有數據庫或表級別的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; 

增量刷新

增量刷新僅支持按需自動刷新。增量刷新請參見物化視圖增量刷新(預覽版)

相關文檔