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