您的位置:首页 > 数据库 > Oracle

Oracle--大数据量创建 物化视图

2014-05-23 14:43 197 查看
性能测试时,到最后数据量较大时,查询一张视图 (left join 4张表)用时1.67s,经最后与DBA商议需建立物化视图:

--    注意:当用FAST选项创建物化视图,必须创建基于主表的视图日志,如下:

 CREATE MATERIALIZED VIEW LOG ON T_BUET_BUSINESSEVENT;

--为T_BUET_BUSINESSEVENT建立物化视图

CREATE MATERIALIZED VIEW MV_BUET_BUSINESSEVENT

 REFRESH FAST START WITH SYSDATE 

 NEXT  SYSDATE + 1/48

 WITH PRIMARY KEY 
 AS SELECT * FROM T_BUET_BUSINESSEVENT@zfdb;

建立关联主表的物化视图后,查询用时0.87~0.91s,

为其他大数据量表建物化视图后,用时0.7~0.8s

------------------------------------------------------------------------------多表连接建立物化视图-----------------------------------------------------------------------

多表的连接的物化视图,若需建立refresh fast on commit,即需先要建立基于各个基表的日志;

且表连接时连接条件必须为主表的唯一主键

总结:

1.不适合建立物化视图的情况: 基表有频繁的DML操作 / (on commit刷新时很费时,大大增加DML操作的时间)

2.多表连接的物化视图仅适合 refresh complete 定时刷新,且刷新时间不能小于30min,否则弊大于利(complete是删除原有数据重新连接多表数据)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: