1 概念理解
视图(VIEW) :本身不保存数据,是底层物理表的虚拟表;
物化视图(MATERIALIZED VIEW):在视图的基础上进行扩展,可以存储物理数据。
2 创建物化视图
sql
CREATE MATERIALIZED VIEW IF NOT EXISTS demo_cdr.veiw1
TABLESPACE pg_default -- 表空间
AS
SELECT id,
patient_name,
address
FROM demo_cdr.patient
WITH DATA;
ALTER TABLE IF EXISTS demo_cdr.veiw1
OWNER TO postgres; -- 数据库
每次调用物化视图,如果补刷新物化视图,每次得到的物化视图结果都是一样的,
因此,当物化视图依赖的物理表数据更新时,要想使物化视图存储的结果为最新的数据,需要刷新物化视图,刷新语法:
sql
REFRESH MATERIALIZED view 架构名.物化视图名; -- 刷新物化视图