物化视图创建与定时刷新

物化视图创建与定时刷新

物化视图的创建

CREATE MATERIALIZED VIEW [VIEW_NAME]
REFRESH [FAST|COMPLETE|FORCE] 
[
    ON [DEMAND|COMMIT]
    START WITH (START_TIME) NEXT (NEXT_TIME)
]
AS SUBQUERY

**[VIEW_NAME] **为物化视图名称

**REFREST**指定刷新模式

物化视图有两种刷新模式:on demand 和 on commit

on demand 顾名思义,仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;

on commit 提交触发,一旦基表有了commit,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。一般用这种方法在操作基表时速度会比较慢。

设置物化视图定时刷新

START WITH …NEXT … 设置物化视图刷新时间

START WITH SYSDATE NEXT TRUNC(SYSDATE + 1) + 5/24

注意:千万不要只创建物化视图,不设置物化视图刷新方法,这样物化视图创建后视图中的数据不会更新

你可能感兴趣的:(oracle,数据库)