ORACLE创建物化视图(on commit\on demand)


前言

个人笔记(物化视图学习笔记,有兴趣的小伙伴可以看看这个视频)

物化视图的类型:Oracle提供了两种方式,手工刷新和自动刷新,默认为手工刷新。即:ON DEMAND. ON COMMIT 二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图“需要“被刷新 了,才进行刷新(REFRESH),即蕈物化视图,以保证和基表数据的一致性;而ON COMMIT是 说,一旦基表有了COMMIT,即事为提交,则立刻刷新,立刻更新物化视图,使得数据和基表一 致.

创建语句: create materialized view mv_name [选项N] as select from table_name;

[选项1] **BUILD [IMMEDIATE, DEFERRED]**是否在创建视图时生成数据,默认生成、 DEFERRED为不生成数据,需要的时候生成・

[选项2] REFRESH [FAST, COMPLETE, FORCE, fast是增量刷新,或者说叫 快速刷新;complete为全表刷新;force为如果增量刷新可以使用则使用增量刷新,否则全表刷 新;never则是不进行刷新(不使用).

[选项3] ON [DEMAND, COMMIT]即手工刷新和提交时刷新。

[选项4] START WITH通知数据库完成从主表到本地表第一次复制的时间。 [选项5] NEXT说明了刷新的时间间隔,下一次刷新的时间=上一次执行完成的时间+时间间 隔。

注:一般普通账号并没有建立物化视图的权限,需要使用sysdba或者sysdba赋权的用户才可以建立物化视图

一、表做了更新commit之后就自动更新物化视图(on commit)

代码如下:

--全量更新,增量更新需要定义id字段,并设置为增量更新字段,根据id进行增量更新
CREATE MATERIALIZED VIEW V_AB
REFRESH FORCE ON COMMIT
AS
SELECT
A.ICr A.HAKE, B.CLSIC, B.NAME AS CLSNAME
FROM A,3
WHERE A.CLSID - B.CLSIE;

二、设置定时更新物化视图(on demand)

代码如下:

--也是全量更新,设置定时更新物化视图,需要设置开始日期以及下次刷新时间设置,如下下次刷新时间为明天
CREATE MATERIALIZED VIEW MV_AB
REFRESH FORCE ON DEMAND
START WITH SYSDATE
NEXT SYSDATE+1
AS
SELECT
k.lC, "NAME, B.CLSIE, B.NAME ,
FROM A,B
WHERE A.CL5ID - B.CL5IE;

2.读入数据

代码如下:

--快速刷新fast刷新,如下为一分钟刷新一次,如下这个不是全量刷新创建了根据rowid进行增量刷新的规则,后续根据索引rowid进行增量更新
CREATE MATERIALIZED VIEW LOG ON A WITH ROWID;
CREATE MATERIALIZED VIEW LOG ON B WITH ROWID;
CREATE MATERIALIZED VIEW MV_AB
REFRESH FAST ON DEMAND
START WITH SYSDATE
NEXT SYSDATE+1/1440
AS
SELECT
A.ROWID AS AROWID, B.ROWID AS BROWID,
A.ID, A.NAME, B.CLSID, B.NAME AS CLSNAME
FROM A,B
WHERE A.CLSID = B.CLSI;

物化视图查询多了两列


总结

物化视图可以自动刷新也可以手动刷新,可以按照自己的需求进行选择,物化视图的创建会消耗物理内存,能够在user_table表中查到具体存储的表,这样的好处在于调用视图时不用每次都进行逻辑取数,而是直接从表中取数。

ORACLE创建物化视图(on commit\on demand)相关推荐

  1. oracle创建物化视图的权限,建立物化视图的权限

    首先,重新构造测试环境: SQL> CONN YANGTK/YANGTK@TEST4 已连接. SQL> DROP USER TEST CASCADE; 用户已丢弃 SQL> DRO ...

  2. oracle雾化试图_Oracle创建物化视图

    Oracle创建物化视图 通过Oracle物化视图章节,我们已经了解到Oracle物化视图的作用和创建原理,本节通过实例详细讲解Oracle是如何创建物化视图的. 创建物化视图语法: 语法:creat ...

  3. Oracle 11g 通过创建物化视图实现不同数据库间的表数据同步

    Oracle 11g 物化视图语法如下: create materialized view [view_name] refresh [fast|complete|force] [ on [commit ...

  4. 创建数据库_详解Oracle数据库物化视图及创建物化视图索引

    概述 物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图S ...

  5. oracle olap创建物化视图,CUUG oracle物化视图讲解

    1.视图是什么? 普通视图:只是存放在数据字典当中的子查询,本身没有来源于基表 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表.物化 ...

  6. oracle olap创建物化视图,Oracle 物化视图同步表-roid

    一.在目标库建立DBLINK 目标库操作: 主机B中建立TNS(tnsname.ora),也可以使用netca建立TNS [oracle@rac1 ~]$ cd /u01/app/oracle/pro ...

  7. oracle数据库创建物化视图

    为了共享本地数据但是又不想把自己本地数据库其他信息给第三方,可以在其他库创建物化视图共享数据,废话不多说,直接上案例 CREATE MATERIALIZED VIEW JQMSRPT.MV_DEMO_ ...

  8. 创建物化视图commit_oracle 中物化视图讲解

    oracle 中物化视图讲解 oracle中的物化视图首先需要创建物化视图日志,oracle根据用户创建的物化视图日志来创建物化视图日志表,物化视图日志表名称为mlog$_基表名,如果表名超过20位, ...

  9. Oracle之物化视图

    近期根据项目业务需要对oracle的物化视图有所接触,在网上搜寻关于这方面的资料,便于提高,整理内容如下: 物化视图是一种特殊的物理表,"物化"(Materialized)视图是相 ...

  10. Oracle的物化视图

    Oracle的物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果.物化视图有很多方面和索引很相似: ...

最新文章

  1. 腾讯裁撤中层干部,拥抱年轻人
  2. 射频,系带,调制解调器
  3. jdbctemplate 开启事务_来,讲讲Spring事务有哪些坑?
  4. iOS 向下取整、向上取整、四舍五入
  5. HttpWatch工具简介及使用技巧(转载)
  6. AI:IPPR的数学表示-CNN稀疏结构进化(Mobile、xception、Shuffle、SE、Dilated、Deformable)
  7. Sprint2-3.0
  8. python socket出现ip已经使用_Python:只接受特定的IP(socket)
  9. break是python合法标识符,Python笔记——break的注意事项
  10. mysql 5.7和8.0区别_SpringBoot 2.0 教程实战 MySQL 读写分离
  11. OpenCV-特征提取与检测(02、Shi-Tomasi角点检测)
  12. 十大经典算法图解(详细版)
  13. J2EE框架学习经典总结
  14. mapabc 地图失效不能进行任何操作
  15. SiamRPN 论文理解
  16. python常用快捷键mac_Mac PHPStorm 常用快捷键,常用设置
  17. 我的去 Google 化的安卓之旅
  18. 2021计算机excel,excel2021版本
  19. 血泪总结:如何从微信小程序的坑跳进支付宝小程序的大坑
  20. 招聘移动全栈工程师(iOS 方向)

热门文章

  1. 考研政治刷题知识点总结
  2. sublime好看的字体设置
  3. 服务企业互联网化 打造社会化商业平台
  4. 数据库迁移测试——功能测试
  5. Inoventica干线网络,600 Gbit / s。
  6. OpenLayers多源数据加载一:数据组织
  7. step5: 编写spider爬取
  8. python panel dataframe_Pandas面板(Panel)
  9. 计算机毕业设计ssm基于远程协作的汽车故障诊断系统t6ipg系统+程序+源码+lw+远程部署
  10. 基因组选择技术在农业动物育种中的应用