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