整理一下oracle物化视图的基本概念以及基本用法

1物化视图的定义

物化视图是一种特殊的物理表,物化(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好处。物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。

2物化视图的类型:ON DEMAND、ON COMMIT

二者的区别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图需要被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性;而ON COMMIT是说,一旦基表有了COMMIT,即事务提交,则立刻刷新,立刻更新物化视图,使得数据和基表一致。

创建语句:

create materialized view mv_name as select * from table_name

默认情况下,如果没指定刷新方法和刷新模式,则Oracle默认为FORCE和DEMAND。

Oracle提供了两种物化视图刷新方式,手工刷新和自动刷新,默认为手工刷新。也就是说,通过我们手工的执行某个Oracle提供的系统级存储过程或包,来保证物化视图与基表数据一致性。

ON DEMAND物化视图和ON COMMIT物化视图的区别:即前者不刷新(手工或自动)就不更新物化视图,而后者不刷新也会更新物化视图,只要基表发生了COMMIT。

创建定时刷新的物化视图:

create materialized view mv_name refresh force on demand start with sysdate next to_date( concat( to_char( sysdate+1,'dd-mm-yyyy'),' 22:00:00'),'dd-mm-yyyy hh24:mi:ss') as select * from table_name(指定物化视图每天晚上10:00刷新一次)

ON COMMIT物化视图的创建,和上面创建ON DEMAND的物化视图区别不大。因为ON DEMAND是默认的,所以ON COMMIT物化视图,需要再增加个参数即可。

创建ON COMMIT物化视图:

create materialized view mv_name refresh force on commit as select * from table_name 备注:实际创建过程中,基表需要有主键约束,否则会报错(ORA-12014)

3物化视图的刷新

刷新(Refresh):指当基表发生了DML操作后,物化视图何时采用哪种方式和基表进行同步。刷新的模式有两种:ON DEMAND和ON COMMIT。(如上所述)

刷新的方法有四种:FAST、COMPLETE、FORCE和NEVER。FAST刷新采用增量刷新,只刷新自上次刷新以后进行的修改。COMPLETE刷新对整个物化视图进行完全的刷新。如果选择FORCE方式,则Oracle在刷新时会去判断是否可以进行快速刷新,如果可以则采用FAST方式,否则采用COMPLETE的方式。NEVER指物化视图不进行任何刷新。

对于已经创建好的物化视图,可以修改其刷新方式,比如把物化视图mv_name的刷新方式修改为每天晚上10点刷新一次:

alter materialized view mv_name refresh force on demand start with

sysdate next to_date(concat(to_char(sysdate+1,'dd-mm-yyyy'),' 22:00:00'),'dd-mm-yyyy hh24:mi:ss')

4具体操作步骤

创建物化视图需要的权限:

grant create materialized view to user_name;

在源表建立物化视图日志:

create materialized view log on test_table

tablespace test_space -- 日志空间

with primary key; -- 指定为主键类型

在目标数据库上创建MATERIALIZED VIEW:

create materialized view mv_materialized_test refresh force on demand start with sysdate next

to_date(concat(to_char(sysdate+1,'dd-mm-yyyy'),'10:25:00'),'dd-mm-yyyy hh24:mi:ss') as

select * from user_info; --这个物化视图在每天10:25进行刷新

修改刷新时间:

alter materialized view mv_materialized_test refresh force on demand start with sysdate next to_date(concat(to_char(sysdate+1,'dd-mm-yyyy'),' 23:00:00'),'dd-mm-yyyy hh24:mi:ss'); 或

alter materialized view mv_materialized_test refresh force on demand start with sysdate next trunc(sysdate,'dd')+1+1/24; -- 每天1点刷新

建立索引:

create index IDX_MMT_IU_TEST

on mv_materialized_test(ID,UNAME)

tablespace test_space;

删除物化视图及日志:

drop materialized view log on test_table; --删除物化视图日志:

drop materialized view mv_materialized_test; --删除物化视图

免责声明:本文作者:“淮安二傻子”,版权归作者所有,观点仅代表作者本人。本站仅提供信息存储分享服务,不拥有所有权。信息贵在分享,如有侵权请联系ynstorm@foxmail.com,我们将在24小时内对侵权内容进行删除。
(149)
考研官方(考研网上确认通知怎么查)
上一篇 2024年03月25日
四川气温破纪录(成都2021年夏季平均气
下一篇 2024年03月25日

相关推荐

  • 《除暴》破亿,港片将再次“救市”?

    《除暴》上映两天,票房轻松破亿。不出意外,它将成为《金刚川》之后,票房成绩最好的影片。电影在上映前,被不少观众和业内认为是能刺激11月影市的作品之一。尤其随着它提档至11月20日,错开了张艺谋导演的《一秒钟》,更是被寄予厚望。相比其他影片,电...

    2024年01月05日
  • 分式方程(什么是分式方程与整式方程的区别)

    分式方程与整式方程的区别在于其方程中含有的未知量的系数和指数的性质不同。其中,整式方程中的未知量的系数和指数都必须是整数,而分式方程中的未知量的系数和指数可以是有理数或者甚至是复数。分式方程中含有了分数,其解法也因此相对复杂一些,需要使用通分...

    2024年01月06日
  • 一句话盘点2023年三层地板十大品牌排行榜! 本期推荐...

    盘点三层地板十大品牌排行榜。一句话盘点2023年三层地板十大品牌排名,都有哪些品牌上榜?·10、森迈地板,只为中国家庭设计。·9、升达地板,中国地板产业指数企业。·8、Shengweimeng,源自德国让设计引领潮流,国内少有的原创设计师地板...

    2024年01月14日
  • 想要追到一个中年女人,男人要这样做

    01.爱情是不分年龄,有些人的爱情在很小的时候就出现了,那就是青梅竹马的爱情;有些人的爱情在成熟后出现,那是青春纯洁的爱情;然而有些人的爱情到了中年才出现。很多人会认为现在年轻漂亮的小姑娘更容易让男人喜欢,这一点也并不错,但是不可否认的是现在...

    2024年01月27日
  • 要干练也要娇美 OL的时尚装扮!

    个性潜能办公时代,不摒弃黑白灰职业装三元色的基础地位,要端庄严肃与专业,但也不排挤时尚元素的适时介入。并非穿着色彩缤纷就不够专业,穿得轻盈飘逸就缺乏干练与敬业,不同的办公环境讲究具体的着装。这期小编就带给您几组既优雅知性又不失时尚干练的OL新...

    2024年02月24日
  • 钓大鱼游戏(原神什么等级可以钓鱼)

    3、原神完成该游戏任务即可解锁钓鱼功能,同时还会获得初级鱼竿和果酿饵配方。以上可以供大家参考。...

    2024年03月08日
  • 宿建德江写作背景(六年级七彩课堂宿建德江诗意)

    这是一首刻画秋江暮色的诗,是唐人五绝中的写景名篇。作者把小船停靠在烟雾迷蒙的江边想起了以往的事情,因而以舟泊暮宿作为自己的抒发感情的归宿,写出了作者羁旅之思。...

    2024年03月14日
  • 改造结束,亭林市场开业啦!KFC即将入驻

    今早改造一新的亭林农贸市场开业啦!全部商户搬进了新市场内开业首日,摩肩擦踵,购销两旺!亭林市场属于市场公司下属市场中建设比较早的市场,设施较为陈旧。比如电路老化,用电设备一多,经常跳闸;下水管道排布不合理,容易堵塞;地面虽然多次修补,还是有很...

    2024年03月20日
  • 湖南电视台公共频道(手机上怎么看湖南公共频道)

    -爱奇艺或芒果TV:在手机应用商店中下载并安装爱奇艺或芒果TV,打开软件后找到湖南公共频道进行观看。...

    2024年04月25日
  • 遗迹守护者 基兰(飞机的海牛骑士和基兰的遗迹守护者皮肤好看吗)

    时间机器,23块。嘻哈精神,23块,遗迹守护者,39块。圣诞狂欢(冰雪节限定)。基兰的皮肤,都只是外观上有所改变,技能的话,几乎都没有特效的。...

    2024年05月01日
返回顶部