oracle物化视图的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://xxlcube.blog.csdn.net/article/details/8560152

物化视图的目的,是预先保存一些耗时较长才能得到结果的查询,将这些查询的结果保存到本地的一个副本,以后再查询时,就从该物化视图中查询即可,不需要再去查一些远程的数据表了,这样就提高了查询的性能。


CREATE MATERIALIZED VIEW AUTHOR_MV
REFRESH FAST
START WITH SYSDATE
NEXT SYSDATE+5/86400
WITH PRIMARY KEY
AS
SELECT *
FROM AUTHOR@TO_DMED;

以上就是一个创建物化视图的例子

REFRESH FAST表示以增量刷新的方式来刷新物化视图,但前提必须在该表上建立了物化视图的LOG才行,增量就是刷新自上次以来改变的数据

其它选项还有:COMPLETE完全刷新,FORCE自动去选择以上两种方式,优先选择FAST如果条件满足。

START WITH表示第一次复制到本地数据的时间,以及NEXT是下一次刷新的时间。

WITH PRIMARY KEY是在远程数据库表上创建主键物化视图。

CREATE MATERIALIZED VIEW LOG ON author

WITH PRIMARY KEY;

如果使用REFRESH FAST,必须在原表所在的数据里建立原表的物化视图日志。

在创建物化视图的时候也可以指定是否创建时就立马刷新数据过来:

创建方式(Build Methods):包括BUILD IMMEDIATEBUILD DEFERRED两种。BUILD IMMEDIATE是在创建物化视图的时候就生成数据,而BUILD DEFERRED则在创建时不生成数据,以后根据需要在生成数据。默认为BUILD IMMEDIATE。 




展开阅读全文

没有更多推荐了,返回首页