PostgreSQL的视图以及物化视图的特点

1.视图

PostgreSQL视图其实和mysql视图是一样的,视图其实是个虚拟的表,实际上是一个SQL拼接而成的虚拟表(假表),可能是有一个表或者多个表、视图关联而成的复杂的SQL,而这个SQL一般都是select语句(当然也可能是 update、delete 等的语句,但是可能会有诸多限制,而且用视图进行这些操作也不安全,一般也不会这么用。)。而视图的用途常常用于展示一些用户需要的信息,隐藏一些敏感或者是不重要的数据,汇总一些关键数据展示给用户。

操作:可以像表一样查询视图的字段,也可以当做一个表进行关联查询。
查询底层实现:通过创建视图的语句进行查询,每次会实时查询底表,所以数据是实时的。
索引:走表的索引。

2.物化视图

基本功能和视图类似。对标实体表和普通视图,会将数据真实的存储在服务器中,会比普通视图更像一个表。上面说到的视图是一个虚拟的表,这个物化视图其实是一个物理表,它可以用自己的索引。

操作:可以像表一样查询视图的字段,也可以当做一个表进行关联查询。可以创建索引。
查询底层实现:创建后就真的被当做是表了,即结果都物化(固化)成了一个表,假如创建语句的底层表数据有变化,也不会影响到这个物化视图的数据,除非手动进行刷新。所以每次查询的都是固化的数据,不是实时的数据。
索引:走自己的索引,可以创建索引。

物化视图增量更新与全量更新

全量更新: 直接去基础表里面查询数据,刷新过程中会对该物化视图的所有的select操作阻塞,但刷新效率快。
增量刷新: 刷新要具备有唯一字段索引,将基础表查询出来的数据和现在物化视图表进行对比,填充差量数据,但刷新过程中不会对该物化视图的select操作进行阻塞,但刷新比全量更新慢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值