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

2023-05-16

1.视图

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

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

2.物化视图

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL的视图以及物化视图的特点 的相关文章

随机推荐

  • 【机器学习】MATLAB实现DNN深度神经网络模式分类识别

    目录 MATLAB实现DNN深度神经网络模式分类识别 MATLAB实现DNN深度神经网络模式分类识别 以下是MATLAB实现DNN深度神经网络模式分类识别的示例代码 供参考 注意 上述代码仅为示例 具体实现需要根据自己的具体情况进行调整和修
  • 【机器学习】Python实现DNN深度神经网络模式分类识别

    目录 Python实现DNN深度神经网络模式分类识别 Python实现DNN深度神经网络模式分类识别 以下是一个使用 Python 实现 DNN 深度神经网络模式分类识别的示例代码 上述代码通过 TensorFlow 库实现了一个具有两个全
  • 【机器学习】MATLAB Deep Learning Toolbox trainingOptions 参数设定

    目录 MATLAB Deep Learning Toolbox trainingOptions 参数设定 MATLAB Deep Learning Toolbox trainingOptions 参数设定 MATLAB Deep Learn
  • 【机器学习】MATLAB Deep Learning Toolbox输出Loss下降曲线

    目录 MATLAB Deep Learning Toolbox输出Loss下降曲线 MATLAB Deep Learning Toolbox输出Loss下降曲线 MATLAB Deep Learning Toolbox可以通过训练选项 pl
  • 【分类模型】MATLAB实现DNN全连接神经网络多特征分类预测

    目录 MATLAB实现DNN全连接神经网络多特征分类预测 MATLAB实现DNN全连接神经网络多特征分类预测 以下是一个使用MATLAB实现DNN全连接神经网络多特征分类预测的示例代码 准备数据 load iris dataset inpu
  • 【分类模型】MATLAB实现2-DCNN卷积神经网络时间序列预测

    目录 MATLAB实现2 DCNN卷积神经网络时间序列预测 MATLAB实现2 DCNN卷积神经网络时间序列预测 下是一个使用MATLAB实现1D CNN的时间序列预测的示例代码 其中 x是内置的太阳黑子数据集 XTrain和YTrain分
  • C语言入门12 字符串的存储形式

    一 字符串存放在数组中 就是在内存 xff08 栈 xff0c 静态全局区 xff09 中开辟了一段空间存放字符串 span class token macro property span class token directive has
  • 记升级idea版本为2021.1后启动出现could not find main class com/intellij/idea

    现象 百度发现网上的答案都不适合我 xff0c 卸载重装卸载重装 xff0c 清除垃圾注册表等等几次过后成功重新安装成功后一次 xff0c 能打开 xff0c 但进入后安装choose runtime插件 xff0c 然后替换jdk版本为j
  • mysql常用操作命令

    这里写目录标题 创建普通索引创建唯一索引创建主键索引创建全文索引创建多列索引删除索引 创建普通索引 ALTER TABLE 96 order pay info 96 ADD INDEX 96 idx trade no 96 96 trade
  • WSL2 更换硬盘位置

    windows wsl子系统默认硬盘存放位置在c盘 xff0c 想要换到其他盘 1 关闭wsl wsl shutdown 2 查看wsl信息 wsl l v NAME STATE VERSION Debian Stopped 2 Ubunt
  • ubuntu鼠标灵敏度、加速度修改

    一直觉得ubuntu的鼠标指针比较飘 xff0c 图形界面上调整灵敏度调到最低也不准 xff0c 因为鼠标设置里面没有提供其他可调整选项 xff0c 目前找到一个解决办法是调整鼠标加速度 各版本调整方法链接 xff1a https patr
  • 使用apt-mirror搭建ubuntu本地安装源

    环境 xff1a 使用一台ubuntu 16 04作为服务器 1 建立文件 mkdir data mkdir data 16 04 mkdir data 16 04 mirror mkdir data 16 04 var mkdir dat
  • 三角函数关系图

    倒三角关系 s i n 2 x
  • 关于打开虚拟机VMware centos7之后就蓝屏的解决办法

    装完镜像之后 xff0c 打开虚拟机 xff0c 一开机就蓝屏 解决办法 xff1a VMware 版本太低 xff0c 下载新版VMware 可以解决大部分问题
  • n个数输出最大值和最小值

    提型描述 xff1a 输入整数N xff0c 接着在下一行连续输入N个数 xff0c 输出这一组数的最大值和最小值 xff1b 提示 xff1a 输入的这N个数 xff0c 可以有小数也可以有负数 xff0c 输出之间用换行隔开 inclu
  • java求完数的代码

    用java求完数 xff1a 题目 xff1a 一个数如果恰好等于它的真因子 即不包括它本身 之和 xff0c 这个数就称为 34 完数 34 例如6 61 1 xff0b 2 xff0b 3 请编程找出1000以内的所有完数 代码如下 x
  • libc++abi Specification

    void cxa allocate exception size t thrown size throw Effects Allocates memory to hold the exception to be thrown thrown
  • Java:利用递归方法求鸭子数

    问题描述 xff1a 一个人赶着鸭子去每个村庄卖 xff0c 每经过一个村子卖去所赶鸭子的一半又一只 这样他经过了七个村子后还剩两只鸭子 xff0c 问他出发时共赶多少只鸭子 xff1f 经过每个村子卖出多少只鸭子 xff1f 题目分析 x
  • 登录授权验证之OAuth2.0

    实际应用项目 xff1a http github crmeb net u long 本文将从几个方面了解和学习使用OAuth2 0 对不对就不管了 xff0c 反正我也几乎不会用到 ps 有个项目用到了 xff0c 所以才会有本文 OAut
  • PostgreSQL的视图以及物化视图的特点

    1 视图 PostgreSQL视图其实和mysql视图是一样的 xff0c 视图其实是个虚拟的表 xff0c 实际上是一个SQL拼接而成的虚拟表 xff08 假表 xff09 xff0c 可能是有一个表或者多个表 视图关联而成的复杂的SQL