postgresql-物化视图

postgresql-物化视图

  • 物化视图
  • 创建物化视图
  • 刷新物化视图
  • 修改物化视图
  • 删除物化视图

物化视图

在这里插入图片描述

创建物化视图

postgresql使用create materialized view 语句创建视图

create materialized view
if not exists name
as query
[with [NO] data];

在这里插入图片描述
在这里插入图片描述

-- 创建一个包含员工统计信息的物化视图
-- emp_stat_mv 包含了按照部门和职位统计的员工数量
create materialized view emp_stat_mv as
select 
d.department_name,
j.job_title,
count(*) 
from cps.public.employees e 
join cps.public.departments d on d.department_id  = e.department_id 
join cps.public.jobs j on j.job_id = e.job_id 
group by d.department_name,j.job_title ;
-- 测试
select * from emp_stat_mv;

在这里插入图片描述
在这里插入图片描述

-- 物化视图可以像表一样支持索引,实现约束和查询优化,为emp_stat_mv创建唯一索引
create unique index uk_emp_stat_mv on emp_stat_mv (department_name,job_title);

刷新物化视图

postgresql物化视图不会自动刷新数据,需要手动执行refresh materialized view语句:

refresh materialized view [concurrently]name[ with [no] data];

在这里插入图片描述

-- 我们可以定期执行以下语句刷新物化视图emp_stat_mv
refresh materialized view concurrently cps.public.emp_stat_mv;
-- 或者执行以下语句清空物化视图emp_stat_mv中的数据
refresh materialized view emp_stat_mv
with no data;

修改物化视图

alter materialized view语句可以修改物化视图的一些属性,例如名称、字段名等:

-- 修改物化视图的字段名称
alter materialized view [ if exists ] name 
rename [ column ] column_name to new_column_name;-- 修改物化视图的名称
alter materialized view [ if exists ] name 
rename to new_name;-- 修改物化视图所在的模式
alter materialized view [ if exists ] name set schema new schema;
--  修改物化视图名称为emp_stat_mv2
alter materialized view emp_stat_mv rename to emp_stat_mv2;

alter materialized view语句不能修改物化视图定义中的查询语句;
如果想要修改物化视图定义中的查询语句,需要删除并重建物化视图。

alter materialized view 语句还提供了其他的修改功能,具体参考官网介绍

删除物化视图

postgresql使用drop materialized view 语句删除物化视图:

drop materialized view [if exists] name [cascade | restrict];

其中,if exists 可以避免删除一个不存在的物化视图时产生错误;cascade表示级联删除除依赖于该物化视图的对象;restrict表示如果存在依赖对象则提示错误信息,这是默认值。

--可以使用以下语句删除物化视图emp_stat_mv2
drop materialized view emp_stat_mv2;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148488.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

ROS导航——环境感知(激光雷达)

下载相关驱动包(激光雷达厂商应该会给出) 编译后可能会出现部分错误,以下是部分情况: (1) 移植功能包后出现c文件无法找到头文件的情况:解决链接 修改代码:(以我的雷达为…

C++项目:【高并发内存池】

文章目录 一、项目介绍 二、什么是内存池 1.池化技术 2.内存池 3.内存池主要解决的问题 4.malloc 三、定长的内存池 四、高并发内存池整体框架设计 1.高并发内存池--thread cache 1.1申请内存: 1.2释放内存: 1.3用TLS实现thread cache无锁访…

【JavaEE】JavaScript webAPI的基本知识

JavaScript Web API 文章目录 JavaScript Web APIwebAPI背景DOMDOM树 获取元素querySelectorquerySelectorAll 事件初识键盘事件onkeydownonkeypressonkeyup 操作元素获取/修改元素内容1.innerText2.innerHTML 获取/修改元素属性获取/修改表单元素属性获取/修改样式属性行内样式…

扫雷小游戏(简单详细)(内附完整代码)

设计总体思路 实现游戏可以一直玩,先打印棋盘,玩家和电脑下棋,最后分出胜负。 如果编写较大的程序,我们可以分不同模块 例如这个扫雷,我们可以创建三个文件 分别为: game.h 函数的声明game.c 函数的…

三、互联网技术——IP子网划分

文章目录 一、IP地址基础1.1 IP地址分类1.2 网络掩码/子网掩码 二、子网划分VLSM2.1 为什么要进行子网划分2.2 怎么进行子网划分2.3 子网划分原理2.4 例题一2.5 例题二2.6 例题三2.6 例题四2.7 例题五2.8 例题六2.9 例题七2.10 例题八 三、无类域间路由CIDR3.1 例题一3.2 例题二…

Netron【.pt转.torchscript模型展示】

Netron是一个模型的展示工具,它有网页版和app版: 网页版:Netron app版:GitHub - lutzroeder/netron: Visualizer for neural network, deep learning, and machine learning models 直接用网页版吧,还不用安装。 它可…

《深度不确定条件下的决策:从理论到实践》PDF

制定未来计划时需要预测变化,尤其是制定长期计划或针对罕见事件的计划时。当这些变化存在高度不确定性的时候,这种预期就变得越来越困难。 今天给大家介绍的这本《深度不确定条件下的决策:从理论到实践》正是解决以上问题的良方。完整书籍文…

苹果ios系统IPA包企业签名手机下载应用可以有几种方式可以下载到手机?

一、App Store签名:这是最常见和推荐的苹果签名方式。用户可以通过苹果的官方应用商店App Store下载并安装经过苹果审核的应用程序。这种签名方式确保了应用程序的安全性和可靠性,因为App Store对应用进行了严格的审核和验证。 二、企业签名:…

【C++】多线程的学习笔记(2)——白话文版(bushi

目录 前一篇 本章内容提要 使用mutex锁的原因 mutex锁的概念 mutex的使用教程 锁的声明以及命名 mutex的加锁以及解锁 例子 结果 注意 mutex的其他方式的锁介绍 lock_guard 介绍 例子 运行结果 adopt_lock参数 unique_lock 介绍 try_to_lock defer_lock re…

3.物联网射频识别,(高频)RFID应用ISO14443-2协议,(校园卡)Mifare S50卡

问题: 1) 14443协议,RFID标签的默认通信速率是 106kbps,也可以通过协商,调整为 (fc/6413.56M/64)212、424、 848kbps。 2) 14443-3 A类卡,上电后,读写器发送REQA命令,标签…

【SpringBoot】配置文件详解

配置文件详解 一. 配置文件作用二. 配置文件的格式1. properties 配置文件说明①. properties 基本语法②. 读取配置⽂件③. properties 缺点 2. yml 配置⽂件说明①. yml 基本语法②. yml 使用进阶 3. properties VS yml 三. 设置不同环境的配置⽂件 一. 配置文件作用 整个项…

Youtube视频下载工具分享-油管视频,音乐,字幕下载方法汇总

YouTube视频下载方法简介 互联网上存在很多 YouTube 下载工具,但我们经常会发现自己收藏的工具没过多久就会失效,我们为大家整理的这几种方法,是存在时间较久并且亲测可用的。后续如果这些工具失效或者有更好的工具,我们也会分享…

NUWA论文阅读

论文链接:NUWA: Visual Synthesis Pre-training for Neural visUal World creAtion 文章目录 摘要引言相关工作视觉自回归模型视觉稀疏自注意 方法3D数据表征3D Nearby Self-Attention3D编码器-解码器训练目标 实验实现细节与SOTA比较T2I微调T2V微调V2V微调Sketch-t…

通过人才测评系统,对程序员岗位进行招聘测评

一、 程序员的基本工作内容 1、 负责项目组内的代码维护和更新迭代,保证研发效率,对于运营产品提出的需求应积极沟通并实现。 2、 规范相关开发文档等相关资料,对于有变更的代码和功能需求,要对开发文档做出相应的变更。 3、 作为…

ElementUI动态树,数据表格以及分页的实现

目录 前言 一. ElementUI动态树 二. 数据表格和分页 三. 后端代码 service层 controller层 前言 在上一篇博客中实现了左侧菜单栏,在此基础上将它变为动态的,即动态的展示数据库的数据。还有数据表格的实现以及分页。(纯代码分享&#…

​【Java】面向对象程序设计 课程笔记 面向对象基础

🚀Write In Front🚀 📝个人主页:令夏二十三 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:Java 💬总结:希望你看完之后,能对你有…

在EXCEL中构建加载项之创建加载项的目的及规范要求

【分享成果,随喜正能量】一句南无阿弥陀佛,本是释迦牟尼佛所证的无上正等正觉法,洒在娑婆世界的众生海中,只为末世众生能够以信愿之心抓住此救命稻草,要知道今世人此生的处境,可能只剩这道要么极乐要么三涂…

Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器

星光下的赶路人star的个人主页 内心的平静始于不再让他人掌控你的感情 文章目录 0、前言1、窗口(Window)1.1 窗口的概念1.2 窗口的分类1.3 窗口API概览1.4 窗口分配器(Window Assigner)1.4.1 时间窗口1.4.2 计数窗口 1.5 窗口函数…

前几周的阅读的论文(截图版)

目录 共目标检测DMTSCWSSODGCoNet RSI与COSOD结合ACCoNetGLGCNet RSI结合分割CADA_MaskFormerSeMask-Mask2Formershunted-MaskFormer 共目标检测 DMT CVPR 2023 SCWSSOD AAAI 2021 GCoNet SCI1区 2023 RSI与COSOD结合 ACCoNet SCI1区 2023 GLGCNet SCI1区 20…

竞赛 大数据商城人流数据分析与可视化 - python 大数据分析

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于大数据的基站数据分析与可视化 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度…