本文介紹如何管理物化視圖。
查看物化視圖定義
許可權要求
需要有物化視圖的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
:開啟或關閉查詢智能改寫功能。