1.概念
materialized view不仅存储了sql的定义,还存储了数据。预先计算并保存表连接或聚集等耗时较多的操作的结果,查询时可以避免进行这些耗时的操作,从而快速得到结果。
缺点:无法实现实时查询
优点:可以解决数据查询效率过慢问题,减轻了查询导致的数据库服务器的处理压力。(事实上是把压力转移到了服务器不处理请求的时间段,如晚上和凌晨)
2.使用物化视图
注意:创建时不允许有子查询语句存在,否则编译不通过。
刷新方式
FAST:刷新采用增量刷新COMPLETE:刷新对整个物化视图进行完全的刷新 FORCE:这个方式则Oracle在刷新时会去判断是否可以进行快速刷新,如果可以则采用FAST方式,否则采用COMPLETE的方式 NEVER:指物化视图不进行任何刷新。
创建语句
CREATE MATERIALIZED VIEW MV_TEST
BUILD IMMEDIATE --立即创建,deferred创建时不生成数据
REFRESH FORCE --如果可以快速刷新则进行快速刷新,否则完全刷新
ON DEMAND --用户需要时刷新,commit表中数据提交时刷新
START WITH SYSDATE --第一次刷新时间
NEXT TRUNC(SYSDATE+1) --刷新时间间隔每天一次
AS SELECT * FROM test A; --创建的SQL语句3.失效处理。如果plsql看到物化视图上面有红色的×,则表示物化视图失效了,或者执行下面的sql
SELECT T.status, T.OBJECT_NAME, T.OBJECT_TYPE, T.*
FROM dba_OBJECTS T
WHERE T.status <> 'VALID'
and t.OBJECT_TYPE = 'MATERIALIZED VIEW';解决失效的物化视图是重新编译:删除-->重新创建。drop materialized view xxx;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




