物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。

创建物化视图需要的权限:

grant create materialized view to user_name;

创建语句:

create materialized view mv_name [选项n] as select * from table_name;

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

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

[选项3]:on [demand,commit] 即手工刷新和提交时刷新

[选项4]:start with 通知数据库完成从主表到本地表第一次复制的时间

[选项5]:next 说明了刷新的时间间隔,下次刷新的时间=上次执行完成的时间+时间间隔

例子1:

create materialized view V_AB refresh force on commit as  select * from a,b where a.id=b.id

分析:创建一个物化视图来存储a,b两个表的数据,force表示尽量使用增量刷新,但是这种写法只会进行全表刷新。commit表示自动刷新,也就是说,当我们增删改a,b表后进行commit操作后,我们的物化视图也会同时进行数据的刷新。如果想要使用增量刷新来提高效率,请看下面的例子

例子2:

首先要建立与原表rowid相关的物化视图:

create materialized view log on A with rowid;

create materialized view log on B with rowid;

再创建真正的物化视图

create materialized view V_AB refresh fast on demand start with sysdate next  sysdate+1/1440 as

select a.rowid as arowid,b.rowid as browid, (其余字段) from a,b where a.id=b.id;

这里使用demand代表手动刷新,start with代表开始复制的时间,next说明间隔一分钟后刷新,也就是说,当我们增删改a,b表后进行commit操作后,我们的物化视图再经过1分钟后会进行数据的刷新。

查询已经建立的物化视图语句:

SELECT * FROM user_mviews WHERE mview_name = '物化视图名称';

oracle12c物化视图,oracle物化视图详解相关推荐

  1. mysql命令行查看表的触发器_Mysql事项,视图,函数,触发器命令(详解)

    事项开启和使用 //修改表的引擎 alter table a engine=myisam; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update ...

  2. oracle控制文件都一样么,Oracle控制文件详解

    一.Oracle控制文件 为二进制文件,初始化大小由CREATEDATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等 ...

  3. Oracle cursor_sharing 参数 详解

    一. 官网的说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams042.htm#REFRN10025 ...

  4. Oracle建立全文索引详解

    Oracle建立全文索引详解 1.全文检索和普通检索的区别 不使用Oracle text功能,当然也有很多方法可以在Oracle数据库中搜索文本,比如INSTR函数和LIKE操作: SELECT *F ...

  5. oracle -- Oracle初始化参数详解

    oracle -- Oracle初始化参数详解 Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数. Ora ...

  6. oracle11 share pool,Oracle Shared pool 详解

    . Shared Pool概述 在之前的blog对的内存也做了一个概述,参考: Oracle内存架构详解 在网上搜到一篇介绍shared pool非常详细的pdf资料. 原文链接以找不到,但还是要感谢 ...

  7. oracle参数文件initorcl位置,oracle 参数文件详解

    参数文件 两类参数文件: pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init.ora spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端, ...

  8. oracle做子查询注意事项,Oracle子查询详解

    Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...

  9. Oracle中CONCAT详解

    Oracle中CONCAT详解 1.什么是CONCAT 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写 ...

  10. oracle语句中dual什么意思,oracle中dual详解

    oracle中dual详解 基本上oracle引入dual为的就是符合语法 1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的. 2. ...

最新文章

  1. 构建可扩展的GPU加速应用程序(NVIDIA HPC)
  2. 《程序员之禅》一一第3章 为什么要进行禅修编程
  3. 【NLP】情感分析实战:金融市场中的NLP
  4. linux 删除node进程,关于node.js:杀死Linux中的节点进程
  5. Docker实践(六)部署redis
  6. DevOps 火爆,要学这么多技术!
  7. [转载] 中华典故故事(孙刚)——31 千里送鹅毛_礼轻情义重
  8. 学习gSOAP从这个网址开始
  9. 更改VMware硬盘大小
  10. 【渝粤教育】国家开放大学2018年秋季 0538-21T社区护理 参考试题
  11. Linux命令——uptime
  12. 医院病历html模板,三甲医院电子病历模板参考
  13. 量化交易策略五_PEG策略
  14. qq相册传照片显示服务器,我QQ像册传照片了可图标还是灰色的怎么办 – 手机爱问...
  15. 选择驱动便携式计算机显示器GPU,显示器不是最佳分辨率怎么办
  16. Android 对于外部TF(SD)卡和U盘的读写操作
  17. 外贸邮箱企业邮箱,免费外贸企业邮箱大全,外贸企业邮箱都有哪些?
  18. C# 自制微信登录窗口,100%还原,数据库(SQL Server)
  19. 【高级篇】详解Zookeeper客户端Curator
  20. RTL8370N 8口千兆交换机 PCB图纸方案资料 和芯片的datasheet

热门文章

  1. 网店描述页详情页产品图片批量下载提取采集软件
  2. 前端--导致页面白屏的原因
  3. Windows电脑上使用WebBenchmark工具对WebApi接口进行性能测试
  4. NoMeiryoUI v3.1.0 开源便捷的Windows系统字体设置工具
  5. 100DaysCSS-day6挑战
  6. 跟寻智能色选机,一起探索神秘的色彩世界
  7. 抖音画质增强功能,怎么提高抖音拍摄画质
  8. 老卫带你学---WLD韦伯局部描述符
  9. 职场生存之道,如何与领导相处
  10. TCP/IP网络模型