当前位置: 首页 > news >正文

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)》 

http://www.lryc.cn/news/304245.html

相关文章:

  • 【MySQL】数据库索引详解 | 聚簇索引 | 最左匹配原则 | 索引的优缺点
  • HarmonyOS 自定义进度条 Stage模型
  • Flink双流(join)
  • 使用Nginx或者Fiddler快速代理调试
  • MySQL高级特性篇(3)-全文检索的实现与优化
  • MySQL加锁策略详解
  • 会声会影2024新功能及剪辑视频步骤教程
  • Rust Vs Go:从头构建一个web服务
  • 几个常见的C/C++语言冷知识
  • 低代码开发:学校低成本数字化转型的新引擎
  • 【es6】解决箭头函数所有的问题,箭头函数的 this 指针,使用 new 操作符
  • 2-1SDN(软件定义网络)环境测试实验(无默认控制器)-静态流表
  • 飞天使-k8s知识点22-kubernetes实操7-ingress
  • SwiftUI 集合视图(Grid)拖放交换 Cell 的极简实现
  • MATLAB中gtext函数用法
  • 迁移SVN和GIT的云端数据
  • 算法--动态规划(背包问题)
  • Word 文档中的图片另存为 .jpg 格式图片
  • 【C++练级之路】【Lv.8】【STL】list类的模拟实现
  • 【右一的电子笔记】全导航,持续更新...
  • 关于前端的console的方法的收集
  • 大工程 从0到1 数据治理 数仓篇(sample database classicmodels _No.7)
  • phpcms v9敏感词内容替换
  • 浏览器---浏览器/http相关面试题
  • java 中开源的html解析库Jsoup 简单例子
  • Java程序中为什么要使用StringBuilder
  • 【软件架构】02-复杂度来源
  • 怎样让MCU/SFU视频会议ovmedia 接入GB28281监控视频参会互动
  • Spring Boot打war包部署到Tomcat,访问页面404 !!!
  • Docker Desktop 4.27.1 Windows 10 安装 教程