创建物化视图详解(图解)

创建物化视图详解

一,什么是物化视图

物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。

二,作用、

在类似统计功能中,查询操作是无可避免,而这些查询操作如果很频繁,对整体数据库性能是很致命的。而物化视图实现远程数据源与本地数据的实时同步,也就是定时刷新,通过在本地创建物化视图可以大大提高查询效率。

三,流程图:

当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。所以需要再在普通视图(view)上建立物化视图,程序通过对物化视图的访问可以大大提高效率。

四,图解步骤(使用PL/SQL)

1,客户端配置网络服务名

2,创建DataBase Links

3,创建物化视图

修改SQL,添加创建视图的模式,刷新的方式和同步时间间隔:

说明:

创建物化视图的模式的方式有两种:ON DEMAND 和ON COMMIT:

ON DEMAND指物化视图在用户需要的时候进行刷新,可以手工刷新,也可以通过JOB定时进行刷新。

ON COMMIT指物化视图在对基表的DML操作提交的同时进行刷新。

刷新的方法有四种:FAST、COMPLETE、FORCE和NEVER

FAST:采用增量刷新,只刷新自上次刷新以后进行的修改。

COMPLETE:对整个物化视图进行完全的刷新

FORCE: Oracle在刷新时会去判断是否可以进行快速刷新,如果可以则采用FAST方式,否则采用COMPLETE的方式。

NEVER指物化视图不进行任何刷新。

默认值是FORCE ON DEMAND。

4,在物化视图上创建视图(统计)

5,在统计视图上创建物化视图

五,使用命令创建步骤:

1,创建DB link

-- Drop existing database link

drop database link ZHUHAI.COM;

-- Create database link

create database link ZHUHAI.COM

connect to ZHUHAI

using ‘haikou‘;

2,创建物化视图

CREATE MATERIALIZED VIEW MV_DBDIC

REFRESH FORCE ON DEMAND

START WITH SYSDATE

NEXT SYSDATE+(2/(24*3600))

AS

SELECT "DBDIC"."ID" "ID","DBDIC"."DBNUM" "DBNUM","DBDIC"."NAME" "NAME" FROM "DBDIC"@ZHUHAI.COM "DBDIC";

3,创建视图

create or replace view countview as

select COUNT(*) COUNT

from MV_DBDIC;

4,在步骤3创建的视图上创建物化视图

create materialized view MV_COUNTVIEW

refresh force on demand

as

select *

from COUNTVIEW;

六,注意点:

1,需要先在客户端配置数据源网络服务名

2,数据源的源表必须有主键

备忘,如果有哪位同志有什么疑问,随时可以q我,共同进步

qq :843620202

时间: 2024-10-19 11:48:29

创建物化视图详解(图解)的相关文章

ORACLE物化视图详解

一.物化的一般用法物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,oracle都实际上转换为视图SQL语句的查询.这样对整体查询性能的提高,并没有实质上的好处. 1.物化视图的类型ON DEMAND.ON COMMIT.二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图"需要"被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一

学习ASP .NET MVC5官方教程总结(七)Edit方法和Edit视图详解

学习ASP .NET MVC5官方教程总结(七)Edit方法和Edit视图详解 在本章中,我们研究生成的Edit方法和视图.但在研究之前,我们先将 release date 弄得好看一点.打开Models\Movie.cs 文件.先添加一个引用: <span style="font-size:14px;">using System.ComponentModel.DataAnnotations;</span> 然后在Movie类中添加以下代码: [Display(

数据库视图详解

数据库视图详解 - 定义: 视图(View)是从一个或多个表(或视图)导出的表.视图与表(有时为与视图区别,也称表为基本表--Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表. 视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化 - 视图的创建 SQL Server创建视图的语法: CREATE VIEW [ < database_name > .] [

Mysql数据库的索引和视图详解

Mysql数据库的索引和视图详解 索引的概念 数据库的索引与书籍中的目录类似在一本书中,无需阅读整本书,利用目录就可以快速查找所需信息书中的目录是一个词语列表,其中注明了包含各个词的页码数据库索引在数据库中,索引数据库程序无需对整个表进行扫描,就可以在其中找到所需数据数据库中的索引是某个表中一列或若干列的集合,以及物理标识这些值的数据页的逻辑指针清单 索引的作用 设置了合适的索引之后,数据库利用葛总快速的定位技术,能够大大加快查询速率特别是当表很大时,或者查询涉及到多个表时,使用索引可使查询加快

Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步

摘自:http://blog.csdn.net/javaee_sunny/article/details/53439980 目录(?)[-] Oracle 10g 物化视图语法如下 实例演示 主要步骤 在A节点创建原表和物化视图日志 在B节点创建连接A节点的远程链接 在B节点处创建目标表和与目标表名称相同的物化视图 在B节点处刷新物化视图 升级采用存储过程定时任务JOB方式定时刷新物化视图 进一步优化 文章更新记录 参考文章 Oracle 10g 物化视图语法如下: create materia

Android研究之动态创建UI界面详解

 Android的基本UI界面一般都是在xml文件中定义好,然后通过activity的setContentView来显示在界面上,这是Android UI的最简单的构建方式.其实,为了实现更加复杂和更加灵活的UI界面,往往需要动态生成UI界面,甚至根据用户的点击或者配置,动态地改变UI,本文即介绍该技巧.对事件和进程的可能安卓设备实现触摸事件的监听,跨进程 假设Android工程的一个xml文件名为activity_main.xml,定义如下: 1 2 3 4 5 6 7 8 9 10 11

创建物化视图

使用物化视图进行汇总管理:1.DBA分析昂贵的SQL查询并创建物化视图 2.商业用户查询表和视图 3.oracle服务器使用物化视图重写SQL查询 create materialized view cust_sales_mv (视图名) pctfree 0 tablespace example             (设置储存操作) storage (initial 1M next 1M pctincrease 0) build deferred                        

VMware创建虚拟机教程详解及问题解决

关于VMware Workstation Pro虚拟机创建教程,本教程主要详细描述使用软件VMware Workstation Pro建虚拟系统过程中步骤详解,以及个人安装时所出现部分问题的解决方案. VMware Workstation 虚拟机是采用虚拟化技术的模拟器 一.操作环境描述 硬件:联想小新v4000笔记本 软件:VMware Workstation Pro 12版本 Centos 6.5.iso镜像 二.创建步骤 1.点击创建虚拟机,进入新建虚拟机创建向导 1) 典型:默认配置安装

Oracle视图详解

转载自:http://blog.itpub.net/29785807/viewspace-1270120/ 一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑定义.每次使用的时候,只是重新执行SQL. 视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中.那些用于产生视图的表叫做该视图的基表.一个视图也可以从另一个视图中产生. 视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中.通