PostgreSQL 视图在每次查询时都会重新创建吗?

2024-01-01

我正在创建一个网络应用程序,它具有一些复杂的底层关联。为了解决几个问题,我创建了一个 UNION 视图。可能还有很多其他方法可以解决这个问题。

但我现在正在考虑我的设计效率,我想知道一个VIEW是每次查询时都是新创建的,还是只创建一次,并不断更新。

详细地说,如果我有 table_a(100 条记录)和 table_b(100 条记录)并创建一个 UNION 视图,那么我创建了一个包含 200 条记录的视图。

每次我对视图进行选择时,整个过程都会发生吗?

同样,显然每次我更新基础表记录时,视图都会更新,但是视图是更新这一记录还是从头开始重新创建整个视图?

Dale


视图只不过是带有名称的查询。可能存在与性能相关的优化,一些 DBMS 比其他 DBMS 实现得更好(pgSQL 似乎更好),例如重用查询计划、缓存访问控制等。

然而,在一天结束时,几乎总是,您可以期望视图的行为类似于直接发出 SQL。不同之处在于,您可以授予对此查询的访问权限,而无需授予对基础表的访问权限。

您可以进行一些优化来改变行为(使它们像半表一样),并且这些优化可能会或可能不会存在于 pgSQL 中,如物化视图(抱歉,不知道 pgSQL),但这只是吹毛求疵。

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

PostgreSQL 视图在每次查询时都会重新创建吗? 的相关文章

随机推荐

  • 从 POST 上不成功的低级别调用构建的无效 NEST 响应

    我想从 C 代码配置 NEST 当我使用 Kibana 命令时GET cat indices v 我得到这个结果 我的测试索引是 客户 我正在使用 Elasticsearch Net 和 NEST NET 客户端 6 x 弹性 6 5 4
  • TomEE 启动但 Netbeans 给出“无法启动”错误

    我正在使用 NetBeans 8 0 2 也在最新的夜间版本中尝试过 并尝试在端口 8084 上启动 TomEE Plume 服务器 也在不同的端口上尝试过 服务器启动并工作正常 但 NetBeans 认为它 尚未启动 并且在等待大约 2
  • Flask request.get_json() 引发 BadRequest

    我有一个带有此端点的 Flask API app route classify methods POST def classify data request get json 当我用 python POST 请求时 一切都很好 但是当我使用
  • 为什么使用自定义全局验证器时,mat-error 不会显示在 Angular Material 6 中的 mat-form 字段内

    我正在使用 Angular Material 6 当在 mat form field 之后移动到正确显示的 mat error 时 我在 mat form field 内进行了验证 不显示 mat error 不工作代码
  • 使用R中的randomForest包,如何从分类模型中获取概率?

    TL DR 有什么我可以在原件中标记的吗 randomForest 调用以避免重新运行 predict 函数来获取预测的分类概率 而不仅仅是可能的类别 Details 我正在使用随机森林 http cran r project org we
  • 使用基类作为 IEnumerable 的泛型

    我对OOP 继承和多态 接口等有很好的了解 我遇到了一个奇怪的情况 我不明白为什么它根本不起作用 编辑 好的 我发现协方差 或逆变 可以解决这个问题 但最重要的是 我们仍在使用 NET 2 0 在不迁移到 C 4 0 的情况下如何解决这个问
  • 使用Windows搜索文件API [重复]

    这个问题在这里已经有答案了 可能的重复 使用C 查询Windows文件索引服务 https stackoverflow com questions 4131420 querying windows file indexing service
  • Android 预览中的空白屏幕

    所以我在 android studio 上遇到了问题 我的 预览 只是一个空白屏幕 没有我实际添加的内容 当我在 avd 上运行它时 我可以看到这个按钮和文本视图 不幸的是预览屏幕仍然是空白的 我没有任何额外的库 我重新安装了 androi
  • 如何为特定输入类型文本添加CSS

    当我尝试用 css 添加一些输入字段时 我遇到了问题 我无法为某些输入字段制作多个 css 这是我拥有的字段
  • 对象在调用其成员函数之前是否保证被初始化? [复制]

    这个问题在这里已经有答案了 from 这个问题 https stackoverflow com questions 49814895 why doesnt calling member function invoke the odr use
  • 在 ggplot R 中强制使用 1e3 而不是 1000 格式

    我在 y 格式范围方面遇到一些问题 当我使用scale y log10 在我的图中 它决定使用比例 0 1 10 1000 来实现这一点 我真的需要它来显示它1e 1 1e1 1e3 math format如果没有我需要知道的格式 帮助页面
  • 保护多个 Angular 2 组件的好方法

    保护 Angular 2 组件 路由的常见推荐方法似乎是使用 CanActivate 像这儿 http youknowriad github io angular2 cookbooks stateless authentication ht
  • 用 PHP 将金钱转换为文本 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Ionic 框架中

    我正在构建一个应用程序离子框架 http ionicframework com 我从标准离子选项卡启动项目开始 如中所述入门指南 http ionicframework com getting started 我现在想在列表中放置一个分隔线
  • 查找 CSV 文件中的最大值

    有一个任务是在文件中查找平均和最大降雨量 博尔德天气数据 csv https www dropbox com s g8trlcnj8kwwydu BoulderWeatherData csv 使用此代码找到了平均值 rain open Bo
  • 通过删除不必要的函数来减少 JQuery 大小

    我只使用 jQuery 中的 fadeIn 和 fadeOut 并且不想加载整个 jQuery 有什么办法可以去掉其他功能吗 我知道 jquery 的缩小版本确实很小 但 1KB 对我来说很重要 这是决定是否使用 JavaScript 框架
  • 什么是 Klass & KlassKlass

    What is Klass KlassKlass在 JVM 热点实现中 据我从文章中了解到介绍烫发一代 https blogs oracle com jonthecollector entry presenting the permanen
  • 为什么 std::shared_ptr 使用原子 cpu 操作

    我无法理解为什么shared ptr 使用原子CPU 指令 我无法弄清楚原因 因为它不是线程安全的 有人可以解释一下吗 如果你想知道我是如何知道它使用原子结构的 有一个来自 C 及其他版本的剪辑 Herb 和 Andrei 谈论了它 但他们
  • 准备好的语句帮助,变量数量与准备好的语句中的参数数量不匹配

    我收到此错误 变量数量与准备好的语句中的参数数量不匹配 每次我运行这段代码时 dbh new mysqli localhost pics stmt dbh gt prepare INSERT INTO comments username p
  • PostgreSQL 视图在每次查询时都会重新创建吗?

    我正在创建一个网络应用程序 它具有一些复杂的底层关联 为了解决几个问题 我创建了一个 UNION 视图 可能还有很多其他方法可以解决这个问题 但我现在正在考虑我的设计效率 我想知道一个VIEW是每次查询时都是新创建的 还是只创建一次 并不断