PostgreSQL 实体化视图的使用

上周的教程中,通过 DVD Rental Database 示例,让我们了解了在 PostgreSQL 中创建实体化视图的过程。正如我们所了解的,PostgreSQL 实体化视图提供了一种强大的机制,通过预计算和存储查询结果集为物理表来提高查询性能。接下来的内容将涵盖实体化视图相关的其他操作,比如刷新视图、对其执行查询,以及在不再需要时删除视图。与上一篇文章一样,我们将同时讨论DML 语句和如何通过 Navicat GUI 来实现相同的结果。

PostgreSQL 的实体化视图介绍

刷新实体化视图

实体化视图的数据需要定期刷新,以反映底层表中的任何更改。你可以使用以下命令来刷新视图视图:

REFRESH MATERIALIZED VIEW mv_category_revenue;

在 Navicat 中,我们可以刷新并完全地替换实体化视图的内容,鼠标右击(或在 macOS 上使用 control-click)对象选项卡中的实体化视图,并在弹出的菜单中选择“刷新实体化视图与”->“数据”或者“没有数据”:

refresh_materialized_view (53K)

查询实体化视图

现在我们有一个实体化视图,我们可以想查询其他表那样查询它:

SELECT * FROM mv_category_revenue;

这个查询将返回电影类别及其总收入,在不需要重复地联接多张表的情况下,可以快速和高效地检索信息。

在 Navicat 中,你可以在查询编辑或使用查询创建工具来编写查询。在查询编辑器中,只需敲击几下按键,自动补全功能便可识别出实体化视图!

materialized_view_in_autocomplete_list (62K)

实体化视图也包含在对象窗格的查询创建工具中。你可以从对象窗格中拖拽实体化视图到图表窗格中,或者在对象窗格中双击它。

materialized_view_query (107K)

删除实体化视图

如果你不再需要实体化视图,你可以使用 DROP MATERIALIZED VIEW 命令来删除它。这是删除 mv_category_revenue 视图的语句:

DROP MATERIALIZED VIEW mv_category_revenue;

这是在 Navicat 中删除实体化视图的几种方法。第一种方法是:

  • 在主窗口的工具栏中选择“实体化视图”。
  • 然后,在对象列表中选择你想要删除的实体化视图。在对象工具栏中会显示几个可选的按钮,其中包括删除实体化视图按钮:

    delete_materialized_view_button (63K)

  • 点击删除实体化视图按钮将显示一个对话框,你可以在其中确认你确实希望删除已选的实体化视图。

第二个方法是,在主窗口的导航窗格中或在对象列表中右击实体化视图(或在 macOS 上使用 control-click),并在弹出的菜单中选择“删除实体化视图”:

delete_materialized_view_menu_command (40K)

总结

本文中,我们学习了如何执行一些实体化视图相关的操作,包括刷新视图、对其执行查询,以及删除视图。在每个案例中,我们都讨论了 DML 语句以及如何在 Navicat GUI 中实现相同的结果。

往期回顾 

Navicat 16 已支持 Redis

Navicat 16 已支持华为云 GaussDB

Navicat 16 已支持蚂蚁集团 OceanBase 全线数据库

Navicat 常见技术教程

Navicat 入选中国信通院发布的《中国数据库产业图谱(2023)》 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#_扩展方法

简述: 扩展方法所属类必需是静态类(类名依据规范通常为XXXExtension,XXX为被扩展类)扩展方法必需是公有的静态方法扩展方法的首个参数由this修饰,参数类型为被扩展类型 示例: static class DoubleExtens…

vue实现拖拽(vuedraggable)

实现效果: 左侧往右侧拖动,右侧列表可以进行拖拽排序。 安装引用: npm install vuedraggable import draggable from vuedraggable 使用: data数据: componentList: [{groupName: 考试题型,children: [{componentType: danxua…

【基础】提高前端的增益

低噪声,低偏移电压,低漂移-当你把信号链前端的增益提高后,所有的这些精密小信号处理的目标变得很简单。 这是一个很简单的概念。如图1所示,第二级的误差将除以第一级的增益。比如,第一级增益适度,值为10&a…

制造业客户数据安全解决方案(终端安全/文件加密/介质管理等)

针对前文制造业客户数据安全解决方案(数据防泄密需求分析)提到的泄密风险,本文详细介绍一套完整、合理的解决方案,通过该方案构建公司数据安全防护边界,自动加密、全方位保护数据安全。 PC端:https://isite…

Qt开发:MAC安装qt、qtcreate(配置桌面应用开发环境)

安装qt-creator brew install qt-creator安装qt brew install qt查看qt安装路径 brew info qtzhbbindembp ~ % brew info qt > qt: stable 6.6.1 (bottled), HEAD Cross-platform application and UI framework https://www.qt.io/ /opt/homebrew/Cellar/qt/6…

创建一个基于Node.js的实时聊天应用

在当今数字化社会,实时通讯已成为人们生活中不可或缺的一部分。无论是在社交媒体平台上与朋友交流,还是在工作场合中与同事协作,实时聊天应用都扮演着重要角色。与此同时,Node.js作为一种流行的后端技术,为开发者提供了…

10大数据恢复软件可以帮助您恢复电脑数据

您可能会非常紧张,因为知道有人意外地从您的硬盘驱动器中删除了您的宝贵数据(甚至使用 ShiftDelete 从回收站中删除),并且您确实需要这些数据,并且没有其他备份源可以在其中找到这些数据。不要担心,保持冷静…

B² NETWORK空投

空投要点 众多大机构支持,是为数不多的有 Bitcoin 主网验证 Rollup 解决方案的 BTC Layer2,提前埋伏其实是普通人抢早期筹码最好的方式,参加 B Buzz 就是手握金铲子,对标eth二层网络的繁荣程度你就能想象这个前景明牌空投5%给早期…

Kotlin 进阶 学习 委托

1.接口委托 package com.jmj.jetpackcomposecompositionlocal.byStudy/*** 接口委托*/ interface HomeDao{fun getAllData():List<String> }interface ADao{fun getById(id:Int):String }class HomeDaoImpl:HomeDao{override fun getAllData(): List<String> {ret…

useRef有什么用?

看一下官网定义 useRef是一个React Hook&#xff0c;它能帮助引用一个不需要渲染的值 这句话透露出一个信息&#xff0c;不需要渲染的值可以用useRef引用&#xff0c;那需要渲染的值用什么引用呢&#xff1f;当然是useState了&#xff0c;需要渲染的值指的就是状态嘛&#xff0…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的玉米病虫害检测系统(Python+PySide6界面+训练代码)

摘要&#xff1a;本文介绍了一种基于深度学习的玉米病虫害检测系统系统的代码&#xff0c;采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果&#xff0c;能够准确识别图像、视频、实时视频流以及批量文件中的玉米病虫害。文章详细解释了YOLOv8算法的原理&#…

防御保护--防病毒网关AV

目录 病毒 防病毒处理流量 防病毒的配置 防病毒&#xff08;AV&#xff09; --- 传统的AV防病毒的方式是对文件进行查杀。 传统的防病毒的方式是通过将文件缓存之后&#xff0c;再进行特征库的比对&#xff0c;完成检测。但是&#xff0c;因为需 要缓存文件&#xff0c;则将…

Swift Combine 使用调试器调试管道 从入门到精通二十六

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三Swift Combine 发布者publisher的生命周期 从入门到精通四Swift Combine 操作符operations和Subjects发布者的生命周期 从入门到精通五Swift Com…

【数据结构初阶 6】二叉树:堆的基本操作 + 堆排序的实现

文章目录 &#x1f308; Ⅰ 二叉树的顺序结构&#x1f308; Ⅱ 堆的概念与性质&#x1f308; Ⅲ 堆的基本操作01. 堆的定义02. 初始化堆03. 堆的销毁04. 堆的插入05. 向上调整堆06. 堆的创建07. 获取堆顶数据08. 堆的删除09. 向下调整堆10. 判断堆空 &#x1f308; Ⅳ 堆的基本…

Spring之AOP源码解析(上)

Aop相关注解 EnableTransactionManagementEnableAspectJAutoProxyEnableAsync... 从注解切入来看看这些注解都干了什么 Import注解作用简述 注入的类一般继承ImportSelector或者ImportBeanDefinitionRegistrar接口 继承ImportSelector接口&#xff1a;selectImports方法返回…

2.22学习总结

1.营救 2.租用游艇 3.砍树 4.买礼物 5.刷题统计 砍树https://www.dotcpp.com/oj/problem3157.html 题目描述 给定一棵由 n 个结点组成的树以及 m 个不重复的无序数对 (a1, b1), (a2, b2), . . . , (am, bm)&#xff0c;其中 ai 互不相同&#xff0c;bi 互不相同&#xff0c;ai…

MYSQL-入门

一.安装和连接 1.1 安装 mysql安装教程&#xff1a; 2021MySql-8.0.26安装详细教程&#xff08;保姆级&#xff09;_2021mysql-8.0.26安装详细教程(保姆级)_mysql8.0.26_ylb呀的博客-cs-CSDN博客 workbench安装&#xff1a; MySQL Workbench 安装及使用-CSDN博客 1.2 配…

戏曲文化苑|戏曲文化苑小程序|基于微信小程序的戏曲文化苑系统设计与实现(源码+数据库+文档)

戏曲文化苑小程序目录 目录 基于微信小程序的戏曲文化苑系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 &#xff08;1&#xff09;戏曲管理 &#xff08;2&#xff09;公告信息管理 &#xff08;3&#xff09;公告类型管理…

AI智能分析网关V4智慧工厂视频智能监管与风险预警平台建设方案

一、背景需求分析 1&#xff09;随着信息技术的迅猛发展和制造业竞争的加剧&#xff0c;智慧工厂成为了推动制造业转型升级的重要引擎。智慧工厂解决方案通过整合物联网、人工智能、大数据分析等先进技术&#xff0c;实现生产过程的智能化、自动化和高效化&#xff0c;为企业提…

java-cef jcefmaven java集成CEF

java-cef 项目地址 Bitbucket jcefmaven 项目地址 GitHub - jcefmaven/jcefmaven: Maven artifacts for JCef 两个项目之间的关系 编译java-cef https://www.cnblogs.com/JpgCode/p/9397166.html jcefmaven 使用例子 Java使用JCEF开发 windows桌面应用-腾讯云开发者社区…