SQL中的视图和实例化视图之间的区别

我们知道任何数据库的主要组成部分都是它的表,为了使数据可访问性自定义,有了视图的概念,换句话说,我们可以说借助表的视图,我们可以限制任何用户仅访问该数据应该由他访问。现在,基于视图的特征和特征,我们可以区分视图和实体化视图。

以下是视图和实例化视图之间的重要区别。

序号观看次数物化视图
1定义从技术上讲,表的视图是由“选择查询”创建的表的逻辑虚拟副本,但结果未存储在磁盘上的任何位置,并且每次需要数据时我们都需要触发查询,因此始终获得更新或最新信息原始表中的数据。另一方面,物化视图也是由选择查询驱动的数据的逻辑虚拟副本,但是查询结果将存储在表或磁盘中。
2存储在“视图”中,查询表达式的结果元组没有存储在磁盘上,只有查询表达式存储在磁盘上。另一方面,在实例化视图的情况下,查询表达式和查询的结果元组都存储在磁盘上。
3查询执行如上 ,在使用Views的情况下,查询表达式存储在磁盘上,而不是其结果存储在磁盘上,因此,当用户每次尝试从磁盘中获取数据时,查询表达式都会被执行,以便用户每次都能获取最新的更新值。另一方面,在实体化视图的情况下,查询结果存储在磁盘上,因此,当用户尝试获取数据时,查询表达式不会每次都执行,因此如果获取到该值,则用户将不会获得最新的更新值数据库中已更改。
4具有成本效益由于Views没有与之关联的任何存储成本,因此它们也没有与之关联的任何更新成本。另一方面,物化视图的确具有与其相关的存储成本,因此也具有与其相关的更新成本。
5设计SQL中的视图是使用固定体系结构方法设计的,因此存在定义视图的SQL标准。另一方面,如果在SQL中使用实体架构视图来设计物化视图,则没有SQL标准可以对其进行定义,并且某些数据库系统将其功能作为扩展来提供。
6用法当不经常访问数据并且表中的数据经常更新时,通常使用视图。另一方面,当要频繁访问数据并且表中的数据不经常更新时,将使用物化视图。