网站首页 > 数据库 / 正文
物化视图定义和使用场景
物化视图是一个查询结果的实体表,和视图有本质区别,视图每次查询都是从基本表检索出结果,但物化视图是定时生成的结果,是有实际物理表结构的表。而视图是虚拟表。
典型使用场景:
- 数据同步:两个业务系统数据库之前的数据共享方案,一般在etl等大数据场景下很常见。
- 数据备份:对业务数据进行备份, 创建物化视图定时备份,防止数据丢失。
- 数据一致性要求不高场景下的汇总统计:物化视图是定时刷新结果的,一定时间内有数据不一致问题,但是提升性能有明显效果。
物化视图主要脚本
创建物化视图:
create materialized view MV_ DOP_TEST REFRESH FORCE ON DEMAND START WITH TO_DATE('19-11-2019 03:00:00', 'DD-MM-YYYY HH24:MI:SS') NEXT SYSDATE + 60/(24*60) AS select dsso.dop_id,soo.work_center_no,soo.operation_description from SHOP_ORDER_OPERATION SOO, DOP_SUPPLY_SHOP_ORD DSSO where soo.order_no=dsso.order_no and soo.release_no=dsso.release_no and soo.sequence_no=dsso.sequence_no; create materialized view LOG ON MV_ DOP_TEST_log;
删除物化视图:
drop materialized view MV_ DOP_TEST ; drop materialized view log on MV_ DOP_TEST_log;
物化视图定时规则
start with sysdate next to_date( concat( to_char( sysdate+1,'dd-mm-yyyy'),' 22:00:00'),'dd-mm-yyyy hh24:mi:ss');
该规则表示每天22点刷新同步物化视图。
物化视图和索引
使用物化视图查询关于索引,很容易产生误区,物化视图也有索引,不过不是直接建立在物化视图上,是通过基本表创建索引,物化视图才会使用索引,否则这个物化视图查询有性能瓶颈。
看一下plsql里用了索引物化视图的ddl:
所以,如果你的物化视图查询慢,可以检查是否有效使用了索引。给物化视图同名的表添加索引即可:
Tags:oracle的优化
猜你喜欢
- 2024-11-26 Oracle Fusion SCM云助力企业优化供应链物流
- 2024-11-26 oracle date类型数据 查询优化
- 2024-11-26 ORACLE在SUSE 12上安装部署优化官方资料
- 2024-11-26 Oracle优化:什么情况下该创建索引,什么情况下不创建索引
- 2024-11-26 微软将使用甲骨文Oracle云服务器,优化Bing对话式搜索
- 2024-11-26 Oracle数据查询和操作策略:优化数据管理的秘籍
- 2024-11-26 多表关联查询的性能优化技巧:预关联
- 2024-11-26 Linux面试题Oracle优化
- 2024-11-26 推荐一Oracle书籍--高可用、数据处理、性能优化、系统维护、监控
- 2024-11-26 Oracle数据库性能调优实践(一)——概述