materialized view

一,为什么要使用物化视图(materialized view)

    答,类似于杀毒软件,我们只需要在固定时间升级一下病毒库,然后就可以利用杀毒软件所带来的好处了,没有必要每次杀毒都调用瑞星公司总部的杀毒服务器。从而即满足了自己的需要也减少了网络的传输。

二,物化视图分类

    物化视图总体可以分为readonly型和readwrite型,readonly指的是创建的物化试图不能进行DML操作,而readwrite型则可以进行DML操作,可以基于mast表,view,synonym上建立物化视图。物化视图有两种方法refresh数据,一种是fast,一种是complete

 

   1,创建readwrite型物化视图(含选项for update)

        create materialized view message_view

        refresh fast with rowid for update

        as

        select * from userid.message@dblink_tmp

        where market = ‘B’;

    2,创建readonly型物化视图

        create materialized view message_view

        as

        select * from userid.message@dblink_tmp;

        where market = ‘B’;

三,因为物化视图和视图不一样,我们只能在定期更新物化视图以同步实际表数据

    exec dbms_mview.refresh(list=>'message_view',method='C');

    或者

   begin

   dbms_mview.refresh(list=>'message_view',method='C');

    end;

     /

四,删除物化视图

    drop snapshot message_view;

   或者

    drop materialized view message_view;

特别申明:

1,基于mast表建立materialized view如果是refresh fast则需要建立materialized view log,如果是complete则不需要建立

2,创建物化视图时,如果不带refresh with rowid,则默认的是refresh with primary key,如果参照表没有主键约束会报ORA-12014错误

   然而如果是基于synonym创建物化视图则不受此约束。

3,基于synonym尚创建物化视图必须是readonly型的,不能含参数for update,否则会报ORA-12013错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值