物化视图创建和快速刷新

物化视图创建和快速刷新

ID:41713904

大小:57.75 KB

页数:13页

时间:2019-08-30

物化视图创建和快速刷新_第1页
物化视图创建和快速刷新_第2页
物化视图创建和快速刷新_第3页
物化视图创建和快速刷新_第4页
物化视图创建和快速刷新_第5页
资源描述:

《物化视图创建和快速刷新》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、物化视图创建和快速刷新1.物化视图简介物化视图,它是用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,从而快速的得到结果。物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。其中物化视图有三种:聚集物化视图、包含连接物化视图、嵌套物化视图。但三种物化视图的快速刷新的限制条件有很大区另I」,而其他方面则区别不大。2.物化视图的创建和参数说明2.1物化视图实例>南昌营运数据为5000万条左右,每日新增20w条

2、左右。根据报表的实际需求,在物化视图中按照车牌,车队,天汇总统计后的数据为80万条。这样大大提高了查询的效率。>创建物化视图的语句如下:creatematerializedviewBUSINESS_DATA_CAR_MVBUILDDEFERRED-在创建时不刷新,按照用户设定的时间刷新refreshforce-如果可以快速刷新则进行快速刷新,否则进行完全刷新ondemand-按照指定的方式刷新startwithto_date(*14-07-201113:41:16*,*dd-mm-yyyyhh24:mi:ss*)--第一次刷新时间nextTRUNC(S

3、YSDATE+1)+2/24—刷新时间间隔asselectto_char(date_up,'yyyy・MM・dcT)asday,taxi_group,taxi_company,dispatch_car_no,service_no,sum(decode(sign(OYSTER_CARD_ORIGIN_SUM-OYSTER_CARD_LEFT_SUM),1,1,-1,0))ascardTime,county)astimes,sum(decode(sign(OYSTER_CARD_ORIGIN_SUM-OYSTER_CARD_LEFT_SUM),1,OYST

4、ER_CARD_ORIGIN_SUM-OYSTER_CARD_LEFT_SUM,-1,0))ascardSum,sum(sum)assum,sum(distance+free_distance)astotal_distanee,sum(decode(sign(distance),1,distance,-1,0,distanee))asdistance,sum(free_distanee)asfree_distanee,sum(decode(sign(date_down-date_up)J,(date_down-date_up)*24,-1,0))asw

5、orkTime,sum(waiting_hour*60+waiting_second)aswaiting_time,sum(decode(to_char(date_up/HH24,);02f,1/OS'J/041,0))asoverTimeTimes,fromSINGLE_BUSINESS_DATA_BSbuswheredate_up<=date_downand(date_down-date_up)<0.5anddistancexOanddistance<100andfree_distance<500groupbyservice_no,dispatc

6、h_car_no,to_char(date_up,yyyy-MM-dcT),taxi_group,taxi_company;,2.2参数介绍2.2.1BUILD>BUILDIMMEDIATE:是在创建物化视图的时候就生成数据,。>BUILDDEFERRED:则在创建时不生成数据,以后根据需要在生成数据。>默认为BUILDIMMEDIATEo222REFRESH>FAST:增量刷新用物化视图日志,来发送主表已经修改的数据行到物化视图中。>COMPLETE:完全刷新重新生成整个视图,如果请求完全刷新,oracle会完成完全刷新即使增量刷新可用。>FORCE

7、:如果增量刷新可用Oracle将完成增量刷新,否则将完成完全刷新,如果不指定刷新方法(FAST,COMPLETE,orFORCE)o>默认选项是Force02.2.3ON>ONDEMAND:指物化视图在用户需要的时候进行刷新。>ONCOMMIT:指出物化视图在对基表的DML操作提交的同时进行刷新。>默认是ONDEMANDo224STARTWITH>通知数据库完成从主表到本地表第一次复制的时间。225NEXT>说明了刷新的间隔时间。注:根据下一次刷新的时间二上一次执行完成的时间+时间间隔。为了保证在用户需要的时间点刷新,一般使用TRUNC()命令对时间取

8、整到天数,然后加上时间。如例子中的刷新是每天的凌晨2点开始执行物化视图的刷新。1.物化视图的快

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。