首页 > 其他分享 >物化视图概述

物化视图概述

时间:2022-10-06 17:00:37浏览次数:45  
标签:查询 sales 视图 物化 概述 主表 id

物化视图是预先存储或“物化”为模式对象的查询结果。查询的FROM子句可以命名表、视图或物化视图。

物化视图通常在复制中充当主表,在数据仓库中充当事实表。物化视图汇总、计算、复制和分发数据。它们适用于各种计算环境,例如:

  • 在数据仓库中,物化视图可以计算和存储聚合函数(如总和和平均值)生成的数据。

摘要是一种聚合视图,它通过预先计算联接和聚合操作并将结果存储在表中来减少查询时间。物化视图等同于摘要。您还可以使用物化视图计算包含或不包含聚合的联接。

  • 在使用XStream和Oracle GoldenGate实现的物化视图复制中,视图包含来自单个时间点的表的完整或部分副本。物化视图在分布式站点复制数据,并同步在多个站点执行的更新。这种复制形式适用于数据库不总是连接到网络的环境,如现场销售。
  • 在移动计算环境中,物化视图可以将数据子集从中央服务器下载到移动客户端,并定期从中央服务器刷新,客户端将更新传播到中央服务器。

在复制环境中,物化视图与另一个数据库(称为主数据库)中的表共享数据。主站点上与物化视图关联的表是主表。图4-8显示了一个数据库中基于另一个数据库主表的物化视图。主表的更新复制到物化视图数据库。

 Materialized View

 

 

物化视图的特征

物化视图共享索引和非物化视图的一些特征。

物化视图在以下方面类似于索引:

  • 它们包含实际数据并消耗存储空间。

  • 当它们的主表中的数据发生变化时,它们可以被刷新。

  • 当用于查询重写操作时,它们可以提高 SQL 执行的性能。

  • 它们的存在对 SQL 应用程序和用户是透明的。

物化视图类似于非物化视图,因为它表示其他表和视图中的数据。与索引不同,用户可以直接使用SELECT语句查询物化视图。根据所需的刷新类型,还可以使用 DML 语句更新视图。

以下示例基于sh示例架构中的三个主表创建并填充物化聚合视图:

CREATE MATERIALIZED VIEW sales_mv AS 
  SELECT t.calendar_year, p.prod_id, SUM(s.amount_sold) AS sum_sales
  FROM   times t, products p, sales s
  WHERE  t.time_id = s.time_id 
  AND    p.prod_id = s.prod_id
  GROUP BY t.calendar_year, p.prod_id;

下面的示例删除表sales,这是一个主表sales_mv,然后查询sales_mv。该查询选择数据,因为行与主表中的数据分开存储(具体化)。

SQL> DROP TABLE sales;

Table dropped.

SQL> SELECT * FROM sales_mv WHERE ROWNUM < 4;
 
CALENDAR_YEAR    PROD_ID  SUM_SALES
------------- ---------- ----------
         1998         13  936197.53
         1998         26  567533.83
         1998         27  107968.24

可以对物化视图进行分区。您可以在分区表上定义实体化视图,并在实体化视图上定义一个或多个索引。

待续,,,,

 

标签:查询,sales,视图,物化,概述,主表,id
From: https://www.cnblogs.com/wonchaofan/p/16757988.html

相关文章

  • Android 创建与解析XML(一)—— 概述
    Android是最常用的智能手机平台,XML是数据交换的标准媒介,Android中可以使用标准的XML生成器、解析器、转换器API,对XML进行解析和转换。XML,相关有DOM、SAX、JDOM、DOM......
  • IDEA 项目视图保存节点展开状态
    没兴趣看过程的,请直接跳转到「解决方案」部分。问题现象IDEA折叠再展开之后,之前展开的状态就没有了(若gif未自动播放,可在新标签页打开):不像Eclipse可以保存展开状......
  • NAT的简单概述
    作者:Three链接:https://www.lofter.com/lpost/1f01bc1b_1c61e1ed6来源:LOFTERNAT(NetworkAddressTranslation)网络地址转换IP地址已经变得稀缺和昂贵(当到完全采用IPV6)。S......
  • 数据库—数据库系统概述
    一、数据库的地位      数据库技术产生于六十年代末,是数据管理的有效技术,是计算机科学的最重要分支。数据库技术是信息系统的核心和基础,它的出现极大地促进了计算......
  • 计算机视觉与图形学-神经渲染专题-动态场景下的时序视图合成
    在低计算设备上渲染高帧速率视频的问题可以通过定期预测未来帧来解决,以增强虚拟现实应用程序中的用户体验。这是通过时间视图合成(TVS)问题来研究的,其目标是在给定前一帧以及......
  • 重识Nginx - 01 Nginx 主要应用场景及版本概述
    文章目录​​Nginx的三个主要应用场景​​​​静态资源服务​​​​反向代理服务​​​​API服务​​​​WhyNginx​​​​Nginx的优点​​​​Nginx本发布情况(mainline......
  • MYSQL学习之视图
    (一)什么是视图??  视图就是站在不同的角度取看待同一份数据。(二)基本操作表复制:mysql>createtabledept2asselect*fromdept;#复制mysql>createtablescholar1assel......
  • 外部表概述
    外部表访问外部源中的数据,就好像这些数据在数据库中的表中一样。数据可以是为其提供访问驱动程序的任何格式。您可以使用SQL(串行或并行)、PL/SQL和Java来查询外部表。......
  • 临时表概述
    临时表保存仅在事务或会话期间存在的数据 。临时表中的数据是会话私有的。每个会话只能查看和修改自己的数据。可以创建全局临时表或私有临时表。下表显示了它们之间的......
  • XX学Python·概述
    Python概述创始人:吉多·范罗苏姆龟叔为什么要学习Python:大势所趋,简单易学,使用范围广我们本次学习使用Python3.x版本Python在大数据生态中应用非常广泛Python解释器......