postgresql-物化视图

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  架构名.物化视图名; -- 刷新物化视图

3 简单示例

相关推荐
-SGlow-2 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
明月5663 小时前
Oracle 误删数据恢复
数据库·oracle
♡喜欢做梦5 小时前
【MySQL】深入浅出事务:保证数据一致性的核心武器
数据库·mysql
遇见你的雩风5 小时前
MySQL的认识与基本操作
数据库·mysql
dblens 数据库管理和开发工具5 小时前
MySQL新增字段DDL:锁表全解析、避坑指南与实战案例
数据库·mysql·dblens·dblens mysql·数据库连接管理
weixin_419658315 小时前
MySQL的基础操作
数据库·mysql
不辉放弃6 小时前
ZooKeeper 是什么?
数据库·大数据开发
Goona_6 小时前
拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
数据库·python·sql·excel·pyqt
程序员编程指南7 小时前
Qt 数据库连接池实现与管理
c语言·数据库·c++·qt·oracle
幼儿园老大*9 小时前
数据中心-时序数据库InfluxDB
数据库·时序数据库