全部產品
Search
文件中心

AnalyticDB:管理物化視圖

更新時間:Jul 06, 2024

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

查看物化視圖定義

  • 許可權要求

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

  • 文法

    • SHOW CREATE MATERIALIZED VIEW <mv_name>
  • 功能說明

    • 返回物化視圖建立DDL語句詳細資料。

尋找物化視圖

  • 許可權要求

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

  • 文法

    • SHOW MATERIALIZED VIEWS [LIKE 'pattern']
  • 功能說明

    • 返回當前庫裡面所有具有SELECT許可權的物化視圖列表。如果有指定pattern,則返回pattern匹配上的所有物化視圖。

刪除物化視圖

  • 許可權要求

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

  • 文法

    • DROP MATERIALIZED VIEW <mv_name>
  • 功能說明

    • 刪除物化視圖。物化視圖不能使用DROP TABLE來刪除。

物化視圖資訊表

  • 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'

修改物化視圖

  • 許可權要求

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

  • 文法

    • ALTER MATERIALIZED VIEW <mv_name>
      [<ENABLE|DISABLE> QUERY REWRITE]
  • 功能說明

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