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,即需先要建立基于各个基表的日志;
且表连接时连接条件必须为主表的唯一主键
2.多表连接的物化视图仅适合 refresh complete 定时刷新,且刷新时间不能小于30min,否则弊大于利(complete是删除原有数据重新连接多表数据)
-- 注意:当用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是删除原有数据重新连接多表数据)
相关文章推荐
- Oracle物化视图创建报ORA-00942错的解决
- Oracle物化视图:创建最简单物化视图
- Oracle物化视图创建全过程(转)
- Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步
- oracle物化视图创建
- Oracle:物化视图创建及刷新的脚本.
- Oracle创建物化视图
- Oracle 11g 通过创建物化视图实现不同数据库间的表数据同步
- Oracle物化视图创建全过程(转)
- Oracle 物化视图创建以及常见问题
- Oracle MATERIALIZED VIEW -- 创建物化视图
- Oracle物化视图创建全过程
- oracle 创建其他用户下物化视图 权限不足问题
- oracle 物化视图及创建索引
- ORACLE物化视图 -循序渐进MView(四) MView创建语法参考
- Oracle 11g创建远程物化视图时提示“ORA-01788: 此查询块中要求 CONNECT BY 子句”的解决方案
- Oracle MATERIALIZED VIEW -- 创建物化视图
- oracle 物化视图简单创建
- Oracle物化视图创建全过程using dblink
- oracle中创建物化视图的步骤(MV)