物化视图操刀案例

select * from TB1 t for update;
select * from tb2;

查询物化视图日志:如果指定commit,则表被自动清空。
select * from mlog$_tb1;
select * from mlog$_TB2;

删除物化视图日志
drop materialized view log on tb2;
drop materialized view log on TB1;--删除物化视图日志

手动刷新物化视图 ,没有on commit需要手动
SQL> exec dbms_mview.refresh('MV_FAST_TB');
PL/SQL procedure successfully completed

创建物化视图日志:--rowid
create materialized view log on TB1 tablespace ice with rowid; --依据主键创建物化视图日志
create materialized view log on TB2 tablespace ice with rowid; --依据主键创建物化视图日志

创建物化视图:
create materialized view mv_fast_tb tablespace ice  refresh  fast   as
 select distinct a.id,a.name,a.rowid a_rowid,b.rowid b_rowid
 from TB1 a,TB2 b
 where a.id = b.id(+)

创建物化视图索引:
create index ix_mv_id on mv_fast_tb(id);
select * from all_indexes a where a.INDEX_NAME='IX_MV_ID'


分组例子:分组需要指定sequence
create materialized view log on TB1 tablespace ice with  rowid ,sequence (id)
; --依据主键创建物化视图日志
create materialized view log on TB2 tablespace ice with  rowid, sequence (id)--依据主键创建物化视图日志

create materialized view mv_fast_tb tablespace ice  refresh force   as
 select  a.id,count(*)
 from TB1 a,TB2 b
 where a.id = b.id(+)
 group by a.id
或:
create materialized view mv_fast_tb tablespace ice  refresh force on commit  as
 select  a.id,count(*)
 from TB1 a,TB2 b
 where a.id = b.id(+)
 group by a.id---也可以是其他字段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值