oracle12c物化视图,oracle物化视图详解
物化视图是一种特殊的物理表,“物化”(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物化视图详解相关推荐
- mysql命令行查看表的触发器_Mysql事项,视图,函数,触发器命令(详解)
事项开启和使用 //修改表的引擎 alter table a engine=myisam; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update ...
- oracle控制文件都一样么,Oracle控制文件详解
一.Oracle控制文件 为二进制文件,初始化大小由CREATEDATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等 ...
- Oracle cursor_sharing 参数 详解
一. 官网的说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams042.htm#REFRN10025 ...
- Oracle建立全文索引详解
Oracle建立全文索引详解 1.全文检索和普通检索的区别 不使用Oracle text功能,当然也有很多方法可以在Oracle数据库中搜索文本,比如INSTR函数和LIKE操作: SELECT *F ...
- oracle -- Oracle初始化参数详解
oracle -- Oracle初始化参数详解 Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数. Ora ...
- oracle11 share pool,Oracle Shared pool 详解
. Shared Pool概述 在之前的blog对的内存也做了一个概述,参考: Oracle内存架构详解 在网上搜到一篇介绍shared pool非常详细的pdf资料. 原文链接以找不到,但还是要感谢 ...
- oracle参数文件initorcl位置,oracle 参数文件详解
参数文件 两类参数文件: pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init.ora spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端, ...
- oracle做子查询注意事项,Oracle子查询详解
Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...
- Oracle中CONCAT详解
Oracle中CONCAT详解 1.什么是CONCAT 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写 ...
- oracle语句中dual什么意思,oracle中dual详解
oracle中dual详解 基本上oracle引入dual为的就是符合语法 1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的. 2. ...
最新文章
- 构建可扩展的GPU加速应用程序(NVIDIA HPC)
- 《程序员之禅》一一第3章 为什么要进行禅修编程
- 【NLP】情感分析实战:金融市场中的NLP
- linux 删除node进程,关于node.js:杀死Linux中的节点进程
- Docker实践(六)部署redis
- DevOps 火爆,要学这么多技术!
- [转载] 中华典故故事(孙刚)——31 千里送鹅毛_礼轻情义重
- 学习gSOAP从这个网址开始
- 更改VMware硬盘大小
- 【渝粤教育】国家开放大学2018年秋季 0538-21T社区护理 参考试题
- Linux命令——uptime
- 医院病历html模板,三甲医院电子病历模板参考
- 量化交易策略五_PEG策略
- qq相册传照片显示服务器,我QQ像册传照片了可图标还是灰色的怎么办 – 手机爱问...
- 选择驱动便携式计算机显示器GPU,显示器不是最佳分辨率怎么办
- Android 对于外部TF(SD)卡和U盘的读写操作
- 外贸邮箱企业邮箱,免费外贸企业邮箱大全,外贸企业邮箱都有哪些?
- C# 自制微信登录窗口,100%还原,数据库(SQL Server)
- 【高级篇】详解Zookeeper客户端Curator
- RTL8370N 8口千兆交换机 PCB图纸方案资料 和芯片的datasheet