物化视图

本文详细介绍了物化视图的概念及其在数据库中的应用。通过对比普通视图,解释了物化视图如何实现数据的实体映射,并提供了创建及刷新物化视图的具体方法。

物化视图就是对表的一种实体映射.物化视图和一般视图的不同在于它可以不依赖于基本而单独存在..例如如果有数据库A,B 在库A中有表TEST 要在数据库B中查询而数据库A 和B不是时刻连接的,则可以在B上创建一个TEST的物化视图进行数据映射.

测试创建表TEST用于实验

create table test (name varchar2(20),id varchar2(20));

insert into test select  'test','10000' from dual;
 

--创建日至
CREATE MATERIALIZED VIEW LOG ON TEST;

创建TEST的物化视图TEST_VIEW

 创建方法有多种例如

方法一
create MATERIALIZED VIEW TEST_VIEW
    refresh fast on commit --这中建立的物画视图只要基表有变化会马上应用到物化视图中
  AS
  SELECT * FROM TEST;

该方法创建的物化视图提供对基表的实时同步

方法二


create MATERIALIZED VIEW TEST_VIEW
    refresh fast on commit --这中建立的物画视图只要基表有变化会马上应用到物化视图中
  AS
  SELECT * FROM TEST;

该方法创建的物化视图并不提供实时的更新,他可以通过JOB或者手动来更新

更新方法

exec dbms_mview.refresh('test_view');

 

方法三:

create  MATERIALIZED VIEW TEST_VIEW as select * from test;

=
CREATE MATERIALIZED VIEW TEST_VIEW
REFRESH FORCE ON DEMAND   --这种方式创建的物化视图必须通过手工或者JOB来进行刷新 exec dbms_mview.refresh('test_view');
AS

当创建的时候不指定刷新方法时默认是这样的该方法也不提供实时的更新.要通过手动或者JOB来进行刷新

物化视图的刷新分COMPLE(完全),FAST(快速),FORCE(强制),NEVER(从不)几种

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值