本文介绍如何管理物化视图。
查看物化视图定义
权限要求
需要有物化视图的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
:打开或关闭查询智能改写功能。