- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
物化视图创建和快速刷新
物化视图创建和快速刷新
1.物化视图简介
物化视图,它是用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,从而快速的得到结果。物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL 语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。
其中物化视图有三种:聚集物化视图、包含连接物化视图、嵌套物化视图。但三种物化视图的快速刷新的限制条件有很大区别,而其他方面则区别不大。
2.物化视图的创建和参数说明
2.1 物化视图实例
南昌营运数据为5000万条左右,每日新增20w条左右。根据报表的实际需求,在物化视图中按照车牌,车队,天汇总统计后的数据为80万条。这样大大提高了查询的效率。
创建物化视图的语句如下:
create materialized view BUSINESS_DATA_CAR_MV
BUILD DEFERRED –在创建时不刷新,按照用户设定的时间刷新
refresh force –如果可以快速刷新则进行快速刷新,否则进行完全刷新
on demand –按照指定的方式刷新
start with to_date(14-07-2011 13:41:16, dd-mm-yyyy hh24:mi:ss) --第一次刷新时间
next TRUNC(SYSDATE+1)+ 2/24 --刷新时间间隔
as
select
to_char(date_up,yyyy-MM-dd) as day,
taxi_group,
taxi_company,
dispatch_car_no,
service_no,
sum(decode(sign(OYSTER_CARD_ORIGIN_SUM-OYSTER_CARD_LEFT_SUM),1,1,-1,0)) as cardTime,
count(*) as times,
sum(decode(sign(OYSTER_CARD_ORIGIN_SUM-OYSTER_CARD_LEFT_SUM),1,OYSTER_CARD_ORIGIN_SUM-OYSTER_CARD_LEFT_SUM,-1,0)) as cardSum,
sum(sum) as sum,
sum(distance+free_distance)as total_distance,
sum(decode(sign(distance),1,distance,-1,0,distance)) as distance,
sum(free_distance) as free_distance,
sum(decode(sign(date_down-date_up),1,(date_down-date_up)*24,-1,0)) as workTime,
sum(waiting_hour*60+waiting_second)as waiting_time,
sum(decode(to_char(date_up,HH24),02,1,03,1,04,1,0))as overTimeTimes,
from SINGLE_BUSINESS_DATA_BS bus
where date_up = date_down and(date_down -date_up ) 0.5 and distance=0 and distance100 and free_distance500
group by service_no,dispatch_car_no,to_char(date_up,yyyy-MM-dd),taxi_group,taxi_company;,
2.2参数介绍
2.2.1 BUILD
BUILD IMMEDIATE :是在创建物化视图的时候就生成数据,。
BUILD DEFERRED :则在创建时不生成数据,以后根据需要在生成数据。
默认为BUILD IMMEDIATE。
2.2.2 REFRESH
FAST :增量刷新用物化视图日志,来发送主表已经修改的数据行到物化视图中。
COMPLETE:完全刷新重新生成整个视图,如果请求完全刷新,oracle会完成完全刷新即使增量刷新可用 。
FORCE:如果增量刷新可用Oracle将完成增量刷新,否则将完成完全刷新,如果不指定刷新方法(FAST, COMPLETE, or FORCE)。
默认选项是Force。
2.2.3 ON
ON DEMAND :指物化视图在用户需要的时候进行刷新 。
ON COMMIT :指出物化视图在对基表的DML操作提交的同时进行刷新。
默认是 ON DEMAND。
2.2.4 START WITH
通知数据库完成从主表到本地表第一次复制的时间。
2.2.5 NEXT
说明了
文档评论(0)