物化视图

物化视图 DDL 命令用于创建、刷新、修改和删除预计算存储结果的物化视图对象。


本章内容

页面说明
CREATE MATERIALIZED VIEW基于 SELECT 查询创建物化视图,支持自动刷新
ALTER MATERIALIZED VIEW修改物化视图的刷新调度或属性
REFRESH MATERIALIZED VIEW手动触发物化视图刷新,更新预计算数据
DROP MATERIALIZED VIEW删除物化视图及其存储数据
UNDROP MATERIALIZED VIEW恢复已删除的物化视图(在数据保留期内)
DESC MATERIALIZED VIEW查看物化视图的列定义和刷新状态
SHOW MATERIALIZED VIEWS列出当前 Schema 下的所有物化视图
SHOW CREATE MATERIALIZED VIEW查看创建物化视图的完整语句

常用操作

创建物化视图

-- 创建自动刷新的物化视图 CREATE MATERIALIZED VIEW IF NOT EXISTS public.mv_daily_sales AS SELECT DATE_TRUNC('day', created_at) AS sale_date, SUM(amount) AS total_amount, COUNT(*) AS order_count FROM public.orders GROUP BY 1; -- 指定刷新间隔 CREATE MATERIALIZED VIEW public.mv_category_stats REFRESH INTERVAL 30 MINUTE AS SELECT category, COUNT(*) AS cnt, AVG(price) AS avg_price FROM public.products GROUP BY category;

手动刷新

-- 手动触发刷新 REFRESH MATERIALIZED VIEW public.mv_daily_sales;

修改刷新配置

-- 修改刷新间隔(需使用 CREATE OR REPLACE) CREATE OR REPLACE MATERIALIZED VIEW public.mv_daily_sales REFRESH INTERVAL 60 MINUTE VCLUSTER DEFAULT AS SELECT date_trunc('day', order_date) AS day, SUM(amount) AS total FROM orders GROUP BY 1; -- 暂停自动刷新 ALTER MATERIALIZED VIEW public.mv_daily_sales SUSPEND; -- 恢复自动刷新 ALTER MATERIALIZED VIEW public.mv_daily_sales RESUME;

查看与管理

-- 查看所有物化视图 SHOW MATERIALIZED VIEWS; -- 查看物化视图状态 DESC MATERIALIZED VIEW public.mv_daily_sales; -- 查看建表语句 SHOW CREATE MATERIALIZED VIEW public.mv_daily_sales; -- 删除物化视图 DROP MATERIALIZED VIEW IF EXISTS public.mv_daily_sales;


相关文档

文档说明
SQL 命令总览所有 SQL 命令分类导航
物化视图(对象模型)物化视图的工作原理、查询改写和选型说明
动态表面向数据加工管道场景时考虑动态表
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询