全部產品
Search
文件中心

AnalyticDB:管理物化視圖

更新時間:Dec 28, 2024

本文介紹如何管理物化視圖。

修改物化視圖

許可權要求

需要有物化視圖的ALTER許可權。

文法

ALTER MATERIALIZED VIEW <mv_name>
[MV_PROPERTIES=<MV_PROPERTIES>]
[<ENABLE|DISABLE> QUERY REWRITE]
  • MV_PROPERTIES:彈性物化視圖的屬性,僅支援mv_resource_group和mv_refresh_hints參數。詳情請參見MV_PROPERTIES

    重要

    ALTER語句中配置的<MV_PROPERTIES>屬性會整體覆蓋建立彈性物化視圖時配置的<MV_PROPERTIES>屬性。

    例如:建立彈性物化視圖時同時配置了mv_resource_groupmv_refresh_hints參數,ALTER語句中僅配置mv_resource_group參數,執行該語句後,mv_resource_group參數被修改,mv_refresh_hints參數會被清除。

  • <ENABLE|DISABLE> QUERY REWRITE:開啟或關閉查詢智能改寫功能。

樣本

  • 開啟物化視圖myview1的查詢智能改寫功能。

    ALTER MATERIALIZED VIEW myview1 ENABLE QUERY REWRITE;
  • 修改彈性物化視圖myview9所使用的資源群組。

    ALTER MATERIALIZED VIEW myview9 
    MV_PROPERTIES='{
      "mv_resource_group":"my_job_rg_2",
      "mv_refresh_hints":{"query_priority":"HIGH"}
    }'

查看物化視圖定義

查看建立物化視圖的DDL語句。

許可權要求

需要有物化視圖的SELECT許可權。

文法

SHOW CREATE MATERIALIZED VIEW <mv_name>

樣本

查看建立物化視圖myview2的DDL語句。

SHOW CREATE MATERIALIZED VIEW myview2;

查看物化視圖

查看當前資料庫中所有具有SELECT許可權的物化視圖列表。如果有指定Pattern,則返回匹配該Pattern的所有物化視圖。

許可權要求

需要有物化視圖的SELECT許可權。

文法

SHOW MATERIALIZED VIEWS [LIKE 'pattern']

樣本

查看當前資料庫中所有的物化視圖。

SHOW MATERIALIZED VIEWS;

刪除物化視圖

重要

物化視圖不能使用DROP TABLE語句刪除。

許可權要求

需要有物化視圖的DROP許可權。

文法

DROP MATERIALIZED VIEW <mv_name>

樣本

刪除物化視圖myview4

DROP MATERIALIZED VIEW myview4;

物化視圖資訊表

  • information_schema.mv_info

    • 所有物化視圖的元資訊。

    • 常用欄位的解釋如下表所示:

      欄位

      描述

      MV_SCHEMA

      物化視圖的所在庫名。

      MV_NAME

      物化視圖的名稱。

      MV_DEFINITION

      物化視圖表屬性的DDL。

      MV_QUERY

      物化視圖查詢部分的SQL。

      FIRST_REFRESH_TIME

      如果已配置自動重新整理,則表示首次重新整理的時間。

      NEXT_REFRESH_TIME_FUNC

      如果已配置自動重新整理,則表示下次重新整理的時間推導函數。

      OWNER

      物化視圖的建立者。

    • 如果只需查看單張物化視圖定義,建議使用SHOW CREATE MATERIALIZED VIEW命令。

    • 使用樣本如下:

      # 統計整個執行個體有多少張物化視圖
      SELECT count(*) FROM information_schema.mv_info
  • information_schema.mv_auto_refresh_jobs

    • 自動重新整理任務記錄。只有配置了自動重新整理功能的物化視圖才會出現在這張表裡,最多保留1024條記錄。

    • 常用欄位的解釋如下表所示:

      欄位

      描述

      MV_SCHEMA

      物化視圖的所在庫名。

      MV_NAME

      物化視圖的名稱。

      SCHEDULED_START_TIME

      計劃啟動重新整理的時間。

      START_TIME

      實際啟動重新整理的時間。

      END_TIME

      重新整理結束的時間。

      STATE

      重新整理狀態。

      • PENDING:等待觸發重新整理。

      • RUNNING:重新整理中,如果很多物化視圖同時開始重新整理,狀態雖然是RUNNING,但是可能在等計算資源。

      • FINISHED:重新整理完成。

      • FAILED:重新整理失敗。重新整理失敗會自動重試,直到重試次數耗盡,那麼會跳過這次重新整理任務,等待下次重新整理。

      • TIMEOUT:重新整理任務進入未知狀態,遲遲沒有成功。

    • 使用樣本如下:

      # 查看 mymv 的自動重新整理記錄
      SELECT * FROM information_schema.mv_auto_refresh_jobs where mv_name = 'mymv'