物化视图
1. 简介
Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,即快照。
视图中数据不存在;物化视图数据实际存在
2. 创建物化视图选型
2.1 刷新的2种模式:
ON DEMAND 仅在该物化视图需要被刷新了,才进行刷新(REFRESH),以保证和基表数据的一致性;一般需要建立一个job,在job里按照某个固定周期调用dbms_mview刷新
ON COMMIT一旦基表有了COMMIT,即事务提交,立刻更新物化视图,使得数据和基表一致
2.2 刷新的方法有四种:FAST、COMPLETE、FORCE和NEVER。
FAST 刷新采用增量刷新,只刷新自上次刷新以后进行的修改。
COMPLETE 刷新对整个物化视图进行完全的刷新。
FORCE Oracle在刷新时首选会去判断是否可以进行快速刷新,如果可以则采用FAST方式,否则采用COMPLETE的方式
NEVER 物化视图不进行任何刷新。
begin
dbms_scheduler.create_job(
job_name => 'sam_job', --job名
job_type => 'STORED_PROCEDURE', --job类型
job_action => 'pc_sam', --存储过程名
start_date => sysdate, --开始执行时间
repeat_interval => 'FREQ=MINUTELY;INTERVAL=5', --下次执行时间,每5分钟执行存储过程pc_sam
comments => '测试存储过程', --注释
auto_drop => false, --job禁用后是否自动删除
enabled => true);
end;
/