物化视图

Oracle的物化视图提供了强大的功能,可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。

create materialized view [view_name]
refresh
[fast|complete|force][
on [commit|demand]
|
start
with (start_time) next (next_time)
]
as select …

[@more@]

refresh [fast|complete|force] 视图刷新的方式:fast: 增量刷新.假设前一次刷新的时间为t1,那么使用fast模式刷新物化视图时,只向视图中添加t1到当前时间段内,主表变化过的数据.为了记录这种变化,建立增量刷新物化视图还需要一个物化视图日志表。create materialized view log on (主表名)。
complete:
全部刷新。相当于重新执行一次创建视图的查询语句。
force:
这是默认的数据刷新方式。当可以使用fast模式时,数据刷新将采用fast方式;否则使用complete方式。

物化视图日志:

如果需要进行快速刷新,则需要建立物化视图日志。物化视图日志根据不同物化视图的快速刷新的需要,可以建立为ROWIDPRIMARY KEY类型的。还可以选择是否包括SEQUENCEINCLUDING NEW VALUES以及指定列的列表。

CREATE MATERIALIZED VIEW LOG ON mv_lvy_levytaxbgtdiv
tablespace USERS WITH ROWID ;

数据刷新的时间:
on demand:
在用户需要刷新的时候刷新,这里就要求用户自己动手去刷新数据了(也可以使用job定时刷新,默认模式)
on commit:
当主表中有数据提交的时候,立即刷新MV

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21143113/viewspace-1030507/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21143113/viewspace-1030507/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值