龙空技术网

oracle物化视图使用总结和优化索引

日暮笙歌 209

前言:

目前同学们对“oracle删除物化视图慢”大概比较珍视,看官们都想要学习一些“oracle删除物化视图慢”的相关内容。那么小编也在网摘上收集了一些对于“oracle删除物化视图慢””的相关知识,希望同学们能喜欢,看官们快快来学习一下吧!

物化视图定义和使用场景

物化视图是一个查询结果的实体表,和视图有本质区别,视图每次查询都是从基本表检索出结果,但物化视图是定时生成的结果,是有实际物理表结构的表。而视图是虚拟表。

典型使用场景:

数据同步:两个业务系统数据库之前的数据共享方案,一般在etl等大数据场景下很常见。数据备份:对业务数据进行备份, 创建物化视图定时备份,防止数据丢失。数据一致性要求不高场景下的汇总统计:物化视图是定时刷新结果的,一定时间内有数据不一致问题,但是提升性能有明显效果。物化视图主要脚本

创建物化视图:

create materialized view MV_ DOP_TESTREFRESH FORCE ON DEMANDSTART WITH TO_DATE('19-11-2019 03:00:00', 'DD-MM-YYYY HH24:MI:SS') NEXT SYSDATE + 60/(24*60) ASselect dsso.dop_id,soo.work_center_no,soo.operation_descriptionfrom SHOP_ORDER_OPERATION SOO,DOP_SUPPLY_SHOP_ORD DSSOwhere soo.order_no=dsso.order_noand soo.release_no=dsso.release_noand 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 withsysdate next to_date( concat( to_char( sysdate+1,'dd-mm-yyyy'),' 22:00:00'),'dd-mm-yyyy hh24:mi:ss');

该规则表示每天22点刷新同步物化视图。

物化视图和索引

使用物化视图查询关于索引,很容易产生误区,物化视图也有索引,不过不是直接建立在物化视图上,是通过基本表创建索引,物化视图才会使用索引,否则这个物化视图查询有性能瓶颈。

看一下plsql里用了索引物化视图的ddl:

所以,如果你的物化视图查询慢,可以检查是否有效使用了索引。给物化视图同名的表添加索引即可:

标签: #oracle删除物化视图慢 #oracle修改物化视图字段 #oracle查询视图走索引吗 #oracle创建视图 #oracle怎么给视图加索引