1.物化视图的理解

物化视图(Materialized View)在9i以前的版本叫做快照(SNAPSHOT),从9i开始改名叫做物化视图。它是用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,从而快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能,适用于数据报表,数据展示等查询逻辑复杂,查询性能要求高,但是数据变更不频繁的场景;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL 语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。

简单说,物化视图不仅存储了sql的定义,还存储了数据;它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。

物化视图可以查询表,视图和其它的物化视图。

2.物化视图和临时表的区别

物化视图的数据是永久保持的,而且会随着视图相关表数据的变化,根据定义定时或实时进行更新。物化视图大部分情况下是为了性能优化使用的,可以大大提升复杂sql的运行效率。

临时表的数据,根据定义在事务提交或session断开的时候会自动清除,因此更适合存放一些计算过程的中间数据。

3.物化视图使用

CREATE MATERIALIZED VIEW MV_LISTBUILD IMMEDIATE                --创建时立即刷新    REFRESH FORCE                  --如果可以快速刷新则进行快速刷新,否则完全刷新ON DEMAND                      --刷新方式START WITH SYSDATE             --第一次刷新时间NEXT TRUNC(SYSDATE+1)          --刷新时间间隔AS SELECT * FROM RP_BLACK_LIST K;   --创建的SQL语句

在PL/SQL中执行的时候,有时会因为注释的原因,导致物化视图创建失败,所以,创建时还是删去注释吧,此时只是为了说明语句的作用写上注释。

如果某些情况想要修改刷新频率,可以使用以下命令修改刷新间隔

ALTER MATERIALIZED VIEW MV_LISTREFRESH FORCE ON DEMAND START WITH SYSDATE NEXT SYSDATE+1/144;

查询物化视图上次刷新时间

 SELECT LAST_REFRESH_DATEFROM USER_MVIEWSWHERE MVIEW_NAME = 'MV_LIST';

手动刷新物化视图

  BEGINDBMS_MVIEW.REFRESH('MV_LIST');END;

删除物化视图

DROP MATERIALIZED VIEW MV_LIST;

应当注意的是,物化视图在创建时不允许子查询语句的存在,如果有应当改写,不然编译不通过。

Oracle物化视图的使用总结相关推荐

  1. oracle 物化视图、中间表的方案

    物化视图 有个项目因为有比较多的查询汇总,考虑到速度,所以使用了物化视图.简单的把用到的给整理了下.先看简单创建语句: create materialized view mv_materialized ...

  2. Oracle物化视图的创建及使用(一

    Oracle物化视图的创建及使用  http://blog.csdn.net/tegwy/article/details/8935058  先看简单创建语句: create   materialize ...

  3. Oracle物化视图的简单使用

    最近有个项目因为有比较多的查询汇总,之前用的是oralce的临时表,但临时表的特性导致无法完成业务需求,所以使用了物化视图. 先看简单创建语句: //创建物化视图 create materialize ...

  4. Oracle物化视图与物化视图日志

    文章目录 物化视图 物化视图与普通视图的区别 创建一个存放person的表 创建一个存放person的address的表 初始化数据 创建物化视图的语句 1.build [immediate|defe ...

  5. Oracle——物化视图

    文章目录 含义 物化视图的语法 物化视图的创建 1.自动刷新的物化视图 ON COMMIT 2.非自动刷新的物化视图 ON demand 关于手动刷新 物化视图的删除 资料参考 含义 什么是物化视图? ...

  6. oracle 物化视图没效果,Oracle物化视图失效的几种情况及测试

    物化视图(Materialized Views)是查询的结果集,所有原表和视图的变更都将导致物化视图的失效,最近就发现了一个物化视图经常失 说明:物化视图(Materialized Views)是查询 ...

  7. oracle物化视图视频,Oracle物化视图使用详解视频教程

    课程目标 深刻理解Oracle物化视图的原理和应用场景,熟练通透地掌握物化视图的创建.刷新方式.物化视图日志.查询重写以及开发技巧. 适用人群 Oracle数据库工程师.Oracle DBA 课程概述 ...

  8. oracle 物化视图的自动刷新方法

    oracle 物化视图的自动刷新方法: 方法1,直接在创建的时候,指定start with ,如下代表每分钟执行1次 create materialized view big_table_mv nol ...

  9. Oracle物化视图优化多表查询速度

    近期项目中遇到有关报表查询sql速度过慢的问题,由于sql是多个表相关联的查询结果,并且数据量过大,所以导致查询速度过慢.为此,采用物化视图来提高查询速度. 1.物化视图概述 物化视图是包括一个查询结 ...

  10. oracle 物化视图使用,ORACLE 物化视图使用

    当前位置:我的异常网» 数据库 » ORACLE 物化视图使用 ORACLE 物化视图使用 www.myexceptions.net  网友分享于:2013-08-18  浏览:20次 ORACLE ...

最新文章

  1. 3D 引擎 Unity 2019.1 正式发布,引入新的轻量级渲染管道
  2. Crawler之Scrapy:数据挖掘必备的scrapy框架之最完整爬取网页内容攻略
  3. 与基础事务管理器的通信失败 存货申请_金九银十跳槽季,恶补分布式事务
  4. set集合和深浅拷贝
  5. C# RichTextBox 实现循环查找关键字
  6. laravel5.6 使用指定字段作为key_MyRocks TTL使用姿势及Bugfix
  7. cisco的telnet终端显示debug调试信息
  8. R: 绘图 barplot
  9. 并查集路径压缩和按rank合并代码实现
  10. windows/linuxjdk安装,jdk1.6升级到1.7
  11. java输出日期_java输出日期时间
  12. 超市扫码机器服务器系统搭建,超市用的扫码机是怎么个原理?
  13. 常见在线射频电学计算公式
  14. 2345浏览器兼容模式怎么设置
  15. WIN10计算机不支持3D游戏怎么办,教您如何在win10系统中启用3D加速?
  16. java获取pdf文字坐标_Java 获取PDF关键字坐标
  17. 用mysql设计一个KTV点歌系统_KTV点歌系统(JAVA+MYSQL)
  18. 笔记本电脑外接显示器以后,分辨率不正常的问题
  19. 专访光之树创始人张佳辰:围绕产业化和商业化落地,迈向隐私科技
  20. 在本地调试移动设备上的页面——神器weinre介绍

热门文章

  1. Java 生鲜电商平台 - API 接口设计之 token、timestamp、sign 具体架构与实现
  2. 【商业数据分析】 CPC广告优化在复杂业务环境下需要考虑的要素
  3. PCIe扫盲——PCI总线基本概念
  4. 如何打新股|打新股流程
  5. 南京邮电大学CTF——WEB
  6. 如何实现文件目录自动生成(Windows操作系统)
  7. java 调用matlab rank_科学网—Matlab: X is rank deficient - 李旭的博文
  8. logo是啥_Logo什么意思,如何设计logo
  9. 甲骨文诉谷歌Java API版权纠纷可能移至美国最高法院
  10. 我,94年山西人,矿山地质专业,自学Python当程序员,