Oracle 11g 中数据库视图的更新频率

Posted

技术标签:

【中文标题】Oracle 11g 中数据库视图的更新频率【英文标题】:How Often a Database View Gets Updated in Oracle 11g 【发布时间】:2017-10-14 07:32:20 【问题描述】:

我正在使用 Oracle 11g 视图从中读取数据。我的问题是,这个视图多久更新一次?每次打开阅读时都会更新吗?还是每次在视图中使用它们的表中发生更改时都会更新它?或者......

非常感谢您的帮助。

【问题讨论】:

Views 不存储数据。它们是针对系统的查询。所以它们应该始终是“当前的”。 Materialized views 另一方面,存储数据和他们拥有的数据取决于他们的更新计划。视图总是从视图的 DDL(数据定义语言)中定义的源中读取;因此,在针对视图执行查询时,与表中的数据相关的是“实时”。 更多详情:***.com/questions/93539/… 【参考方案1】:

一般来说,SQL 视图在任何意义上都不是数据的缓存存储——它们更像是复杂查询的语法简写。具体来说,在查询视图时,视图的执行更像是一条选择语句——因此数据是视图始终与基础表保持同步,因为当您查询视图时,您会直接从那些基础表中获取数据不像您从某种可能已过期的视图数据缓存中想象的那样。

【讨论】:

以上是关于Oracle 11g 中数据库视图的更新频率的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 数据库 10g 和 11g 中选择更新 ...的区别

oracle11g停止更新

Oracle 11g 使用 CONNECT BY 和多个表创建视图

在oracle11g中,更新子表数据的时候我把子表的内码全部更新成一个值了,66万多条了,忘了加where条件了

Oracle11g常用数据字典(转)

Oracle 11g R2 数据字典