oralce 物化视图/实体化视图

本文详细介绍了Oracle物化视图(实体化视图)的刷新技术,包括完全刷新、快速刷新(使用实体化视图日志和ROWID范围),以及手动和自动刷新模式。同时,讨论了查询重写在物化视图中的应用,并提供启用和禁用查询重写示例。
摘要由CSDN通过智能技术生成
实体化视图刷新 实体化视图使用与快照相同的内部机制并支持几种刷新技术 实体化视图的完全刷新包括截断现有数据并重新插入所有基于详细表的数 据这通过重新执行 CREATE 命令的查询定义来实现 快速刷新仅适用于自上次刷新以来所进行的更改有两种可用的快速刷新 类型 • 使用实体化视图日志的快速刷新在这种情况下对基表的所有更改都会为 日志所捕获然后应用于实体化视图 • 使用 ROWID 范围的快速刷新在直接路径加载后可以根据新行的 ROWID 使用快速刷新来刷新实体化视图这种刷新类型需要直接加载器 日志 如有可能用强制刷新类型定义的视图使用快速机制进行刷新否则它 将使用完全刷新强制刷新是缺省的刷新类型 永不选项抑制所有的实体化视图刷新 刷新模式 使用 DBMS_MVIEW 程序包执行手动刷新DBMS_MVIEW 程序包提供了许多 过程和函数以管理实体化视图包括 REFRESH REFRESH_DEPENDENT 和 REFRESH_ALL_MVIEWS 进程 自动刷新可以在下述情况下执行 • ON COMMIT 在为实体化视图指定该选项时每当提交对其中的一个基表 的更改时就对其进行更新对实体化视图的更新与用户提交异步地发生 并且不降低用户的察觉性能 • 在指定的时间可以调度实体化视图在指定的时间发生例如通过使用 START WITH 和 NEXT 子句在每个星期一的上午 9 点刷新为了使这样 的刷新发生该例程必须使用 JOB_QUEUE_PROCESSES 参数启动作业 进程 实体化视图: 手动刷新 刷新专用的 MV: 基于一个或多个基表的 MV: 应被刷新的所有 MV: DBMS_MVIEW.REFRESH (‘SF_SALES’, parallelism => 10); DBMS_MVIEW.REFRESH_DEPENDENT(‘SALES’); DBMS_MVIEW.REFRESH_ALL_MVIEWS; create materialized view AN_VIEW_USER_BASE_FILE_ALL refresh complete on demand start with to_date('22-09-2005 20:30:00', 'dd-mm-yyyy hh24:mi:ss') next TRUNC(SYSD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值