现在的位置: 首页 > 数据库 > 正文

Oracle【定期刷新】的【基于连接】的物化视图

2019年10月15日 数据库 ⁄ 共 634字 ⁄ 字号 评论关闭

今天项目中需要创建一个多表连接的物化视图,并且两分钟刷新一次。

如下图所示:

我的refresh字句选择的刷新方式是force,这种刷新方式会先尝试用fast方式(增量刷新)刷新,不行再用complete方式(完全刷新)刷新。

但是fast方式刷新需要在基表上建立日志(这样fast-刷新方式才能有增量的依据),而我的目标表是在远端机器上(上图我已经把DBlink连接远端表的部分换成了本地的Test1和Test2表)并且不是我们的系统,不让在上面创建日志,所以我这里的force其实实际上会以complete的方式刷新了。。。

另外的的refresh字句的采用WITH PRIMARY KEY选项生成主键物化视图,也就是说物化视图是基于主表的主键,而不是ROWID(对应于ROWID子句).

下面是创建物化视图的refresh字句的语法:

           [refresh [fast|complete|force]

           [on demand | commit]

           [start with date] [next date]

           [with {primary key|rowid}]]

===========================================================

我自己又写了一个基于连接的fast的刷新方式的物化视图,但是有错误:

看样子refresh刷新方式只能基于单表的查询,而不能基于多表的连接查询了。

抱歉!评论已关闭.