数据库设计 – 每查询一次PostgreSQL VIEWS是否新建?
发布时间:2020-12-12 08:41:04 所属栏目:MsSql教程 来源:网络整理
导读:我正在创建一个具有一些复杂的底层关联的网络应用程序.为了解决我创建了一个UNION视图的几个问题.可能还有很多其他方法可以解决. 但是我现在正在考虑我的设计效率,而且我想知道一个VIEW是在每次被查询时新创建的,还是只创建一次,并保持更新. 要详细说明,如果
我正在创建一个具有一些复杂的底层关联的网络应用程序.为了解决我创建了一个UNION视图的几个问题.可能还有很多其他方法可以解决.
但是我现在正在考虑我的设计效率,而且我想知道一个VIEW是在每次被查询时新创建的,还是只创建一次,并保持更新. 要详细说明,如果我有table_a(100条记录)和table_b(100条记录)并创建一个UNION View,那么我创建了一个包含200条记录的视图. 每当我对视图进行选择时,这个整个过程是否发生? 再次,显然,每次更新基础表记录时,视图都会被更新,但视图是否更新了这个记录,还是从头开始重新创建整个视图? 戴尔 解决方法视图只不过是具有名称的查询.有可能与perf相关的优化,一些DBMS比其他实现更好(pgSQL似乎在更好的一面),如重用查询计划,缓存访问控制等.但是,在他们这一天的结尾,几乎总是,你可以期待一个视图的行为就像直接发出SQL.有区别的是,您可以授予对此查询的访问权限,允许访问底层表. 有一些优化可以改变行为(使它们像桌子一样),而且可能或可能不存在于pgSQL中,例如物化视图(对于pgSQL来说,不好意思),但这只是愚蠢的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |