gpt4 book ai didi

database-design - 每次查询时是否新创建 PostgreSQL VIEWS?

转载 作者:行者123 更新时间:2023-11-29 11:13:47 24 4
gpt4 key购买 nike

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

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

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

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

同样,很明显,每次我更新基础表记录时, View 都会更新,但是 View 是更新这条记录还是从头开始重新创建整个 View ?

戴尔

最佳答案

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

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

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

关于database-design - 每次查询时是否新创建 PostgreSQL VIEWS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3402834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com