Oracle中的视图和实例化视图之间有什么区别?

Oracle中的视图和实例化视图之间有什么区别? 数据库


#1楼

物化视图 -磁盘上包含查询结果集的表 性能

非标准化视图 -从基础表中提取数据的查询 spa


#2楼

在Mike McAllister的漂亮回答中加了... 索引

当编译器认为视图查询很简单时,只能将实例化视图设置为经过数据库自动刷新以检测更改。 若是认为它太复杂,它将没法设置本质上是内部触发器的组件来跟踪源表中的更改,从而仅更新mview表中的更改行。 编译器

建立实例化视图时,您会发现Oracle同时建立了mview 和具备相同名称的表 ,这会使事情变得混乱。 编译


#3楼

视图:视图只是一个命名查询。 它不存储任何内容。 视图上存在查询时,它将运行视图定义的查询。 实际数据来自表。 基础

物化视图:物理存储数据并按期更新。 查询MV时,它会提供MV中的数据。 方法


#4楼

物化视图是由选择查询驱动的数据逻辑视图,可是查询结果将存储在表或磁盘中,查询的定义也将存储在数据库中。 命名

物化视图的性能优于普通视图,由于物化视图的数据将存储在表中,而且表可能会被索引,所以链接速度更快,而且在物化视图刷新时也会进行链接,所以无需每次触发链接语句,视状况而定。 数据

其余区别包括:在使用View的状况下,咱们老是获取最新数据,可是在实现视图的状况下,咱们须要刷新视图以获取最新数据。 在实例化视图的状况下,咱们须要额外的触发器或某种自动方法,以便咱们能够保持MV的刷新,而数据库中的视图则不须要这样作。


#5楼

物化视图基于磁盘,并根据查询定义按期更新。

视图仅是虚拟的,每次访问时都运行查询定义。

相关文章
相关标签/搜索