原文地址:http://hi.baidu.com/gukeming888/blog/item/2682f69481c8237154fb9662.html
物化视图 (Materialized View),在以前的Oracle版本中称为快照(Snapshot)。Oracle的物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等 耗时较多的操作的结果,这样在执行查询时,就可以避免进行这些耗时的操作,而从快速地得到结果。
物化视图有很多方面和索引很相似,使用物化视图的目的是为了提高查询性能,物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的 正确性和有效性,物化视图需要占用存储空间,当基表发生变化时,物化视图也应当刷新。物化视图可以分为以下三种类型:包含聚集的物化视图、只包含连接的物 化视图和嵌套物化视图。
物化视图可以进行分区。而且基于分区的物化视图可以支持分区变化跟踪(PCT)。具有这种特性的物化视图,当基表进行了分区维护操作后,仍然可以进
行快速刷新操作。对于聚集物化视图,可以在GROUP BY列表中使用CUBE或ROLLUP,来建立不同等级的聚集物化视图。
一、先来看看怎么创建一个物化视图:
- create materialized view vi_emp
- refresh force on demand
- as
- select d.dname,e.ename,e.job,e.hiredate
- from scott.dept d,scott.emp e where d.deptno=e.deptno;
物化视图的刷新(refresh)的方法有四种:fast、complete、force和never,Oracle默认采用force方式,如上所示。
fast:刷新采用增量刷新,只刷新自上次刷新以后进行的修改。
complete:刷新对整个物化视图进行完全的刷新。
force:刷新时会去判断是否可以进行快速刷新,如果可以则采用fast方式,否则采 用complete的方式。
never:指物化视图不进行任何刷新。
物化视图的类型有两种:on demand和on commit
on demand:顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(refresh),即更新物化视图,以保证和基表数据的一致性。
on commit:一旦基表有了commit,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。
二、创建定时刷新的物化视图(每天晚上10点刷新):
- create materialized view vi_emp
- refresh force on demand
- start with to_date('03-02-2012 14:50:59', 'dd-mm-yyyy hh24:mi:ss') next to_date(concat(to_char(sysdate + 1, 'yyyy-MM-dd'), ' 22:00:00'), 'yyyy-MM-dd hh24:mi:ss')
- as
- select d.dname,e.ename,e.job,e.hiredate
- from scott.dept d,scott.emp e where d.deptno=e.deptno;
三、删除物化视图:
drop materialized view vi_emp;
相关推荐
这篇文章主要介绍了PostgreSQL物化视图(materialized view)过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1、创建视图 CREATE MATERIALIZED VIEW ...
利用强制查询重写和新的强大的调整顾问程序—它们使您不再需要凭猜测进行工作 ,在 10g 中管理物化视图变得更加容易。文中介绍了物化视图的定义及其一些功能。
NULL 博文链接:https://wuaner.iteye.com/blog/686899
使用在 Postgres 中创建自动更新物化视图的方法扩展ActiveRecord::Migration 。 可以执行来检查物化视图是否与其非物化版本保持同步。 背景 以下是有关物化视图的一些资源: Dan Chak他的著作Enterprise Rails 中...
物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总...物化视图存储基于远程表的数据,也可以称为快照(声名:本人刚刚学习物化视图这篇文章来自网络感觉有借鉴之处)
materialized_view基础知识
Oracle 高级复制配置手册 Materialized View Replication 复制模式实现了单主机对多个复制站点的数据同步.在主站点(即被复 制主机)需要建立只读用户供复制站点来访问.
为了进一步提高数据仓库的性能, 通过分析数据仓库中性能优化技术的特点, 提出了索引和物化视图耦合的性能优化技术。通过数据挖掘自动选择候选索引和物化视图, 减少查询的扫描范围; 然后研究在物化视图上建立索引的...
Postgres物化视图演示 设置 在您的机器上安装了postgresql 运行脚本 createdb your_database psql -f setup_scripts/00_setup.sql psql -d your_database 如果需要更多种子数据, bundle exec ruby dev.rb以为...
introduction of oracle Materialized view
主要的 ETL 方案,一种是我们熟悉的物化视图(materialized view),另一种就是本文将要 介绍的 CDC 组件(Change Data Capture 改变数据捕获)。 CDC 特性是在 Oracle9i 数据库中引入的。CDC 能够帮助你识别从上次提取...
刷新所有物化视图刷新 PostgreSQL 9.4 数据库中所有物化视图的函数(对于 PostgreSQL 9.3,使用不依赖并发物化视图更新的 v1.0 版)。 PostgreSQL 9.4 支持物化视图,但没有刷新视图的功能,除了单独为每个视图发出...
Laravel中父子树结构的解决方案 这个Laravel软件包为您的模型添加了分层功能。 物化模型 Materized Model是 ORM的模式的实现。 文献资料 关于物化路径 物化路径模式是一种具有节点树形层次... "vicklr/materialized-
引入ClickHouse物化视图 (MATERIALIZED VIEW), 该物化视图在ClickHouse上的表现较为奇特, 具有数据入流后的自动刷新功能。 目前我们用它充当PipelineDB实时流聚合功能, 以此, 达到raw数据入流存储和聚合同步完成的...
MariaDB材质化视图这是一个示例,说明如何在MariDB中创建和使用实例化视图。
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。 拉里•埃里森 就业前景 从就业与择业的...
dbms_advisor.tune_mview使用的例子
-- 物化路径模型 -- 自顶到底的查询 SELECT a.materialized_path, a.commander, a.description FROM t_materialized_model AS a, t_materialized_model AS b WHERE a.materialized_path LIKE CONCAT(b....
此类数据由Cosmos DB Change Feed公开,并由Azure Function(通过Change Feed Processor)使用,该功能获取JSON文档并使用它创建或更新存储在view集中的相关物化视图。 可以在这里找到有关体系结构和解决方案的更...