`
desert3
  • 浏览: 2141025 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

普通视图和物化视图区别,物化视图简单语法(转)

阅读更多
转自普通视图和物化视图的区别物化视图简单语法

创建物化视图:
 create materialized view MV_except_pattern_orders
  as
    select * from v_except_pattern_orders

删除物化视图:
drop materialized view MV_except_pattern_orders

更新物化视图:
call DBMS_MVIEW.REFRESH('MV_EXCEPT_PATTERN_ORDERS','C');

DBMS_MVIEW.REFRESH
   ('countries_mv,regions_mv,hr.employees_mv','cf');
This statement performs a complete refresh of the countries_mv materialized view, a fast refresh of the regions_mv materialized view, and a default refresh of the hr.employees materialized view.
上述sql让物化视图countries_mv执行了全局刷新,regions_mv执行了增量刷新,hr.employees_mv执行了默认刷新

创建自动更新的物化视图:
   create materialized view MV_except_pattern_orders  
    refresh Complete on demand  
        start with to_date('2010-01-01 13:20:51','YYYY-MM-DD HH24:MI:SS') next sysdate+1/(24*60)  
    as  
      select * from v_except_pattern_orders  


问题:普通视图和物化视图的区别
普通视图和物化视图根本就不是一个东西,说区别都是硬拼到一起的,首先明白基本概念,普通视图是不存储任何数据的,他只有定义,在查询中是转换为对应的定义 SQL去查询,而物化视图是将数据转换为一个表,实际存储着数据,这样查询数据,就不用关联一大堆表,如果表很大的话,会在临时表空间内做大量的操作。
普通视图的三个特征:
1、是简化设计,清晰编码的东西,他并不是提高性能的,他的存在只会降低性能(如一个视图7个表关联,另一个视图8个表,程序员不知道,觉得很方便,把两个视图关联再做一个视图,那就惨了),他的存在未了在设计上的方便性
2、其次,是安全,在授权给其他用户或者查看角度,多个表关联只允许查看,不允许修改,单表也可以同WITH READ ONLY来控制,当然有些项目基于视图做面向对象的开发,即在视图上去做INSTAND OF触发器,就我个人而言是不站同的,虽然开发上方便,但是未必是好事。
3、从不同的角度看不同的维度,视图可以划分维度和权限,并使多个维度的综合,也就是你要什么就可以从不同的角度看,而表是一个实体的而已,一般维度较少(如:人员表和身份表关联,从人员表可以查看人员的维度统计,从身份看,可以看不同种类的身份有那些人或者多少人),其次另一个如系统视图USER_TABLE、TAB、 USER_OBJECTS这些视图,不同的用户下看到的肯定是不一样的,看的是自己的东西。

物化视图呢,用于OLAP系统中,当然部分 OLTP系统的小部分功能未了提高性能会借鉴一点点,因为表关联的开销很大,所以在开发中很多人就像把这个代价交给定期转存来完成,ORACLE当然也提供了这个功能,就是将视图(或者一个大SQL)的信息转换为物理数据存储,然后提供不同的策略:定时刷还是及时刷、增量刷还是全局刷等等可以根据实际情况进行选择,总之你差的是表,不是视图。
分享到:
评论

相关推荐

    oralce创建物化视图

    oralce创建物化视图,基本语法,基本操作

    数据库设计规范模板.pdf

    视图 … 实体类型前缀定义 各数据库实体类型前缀定义如下表所示: 表 1 实体类型前缀定义 实体类型 实体类型前缀 表 T 分区 TP 主键 PK 外键 FK Check约束 CK 普通视图 V 物化视图 MV 索引 IX 函数 FN 存储过程 SP ...

    dblesson.sql

    视图是虚表,在数据库中只存储视图定义(物化视图除外),通过视图可以查询、更新基本表中的数据;索引主要用于提高存取效率。通过本次实验,可以掌握基本表、视图、索引在数据库中的基本管理方法。 实验要求 熟悉...

    oracle database 10g 完整参考手册part1

    第24章 使用物化视图 第25章 使用Oracle Text进行文本搜索 第26章 使用外部表 第27章 使用回闪查询 第28章 回闪:表和数据库 第Ⅳ部分 Pl/SQL 第29章 PL/SQL简介 第30章 触发器 第31章 过程、函数与程序包 第32章 ...

    ksql:为流处理应用程序专门构建的事件流数据库

    -使用SQL在流上定义实时,增量更新的物化视图 -连续查询,可将增量结果实时推送到客户端 -按需查询物化视图,非常类似于传统数据库 -完全从ksqlDB内部与任何数据源或接收器集成 组合这些强大的原语,使您能够仅使用...

    oracle database 11g 完整参考手册中文高清完整版part3

     第26章 使用物化视图  第27章 使用oracle text 进行文本搜索  第28章 使用外部表  第29章 使用闪回查询  第30章 闪回:表和数据库  第31章 sql 重放 第ⅳ部分 pl/sql  第32章 pl/sql 简介  第33章 应用程序...

    oracle database 11g 高清完整中文版part2

     第26章 使用物化视图  第27章 使用oracle text 进行文本搜索  第28章 使用外部表  第29章 使用闪回查询  第30章 闪回:表和数据库  第31章 sql 重放 第ⅳ部分 pl/sql  第32章 pl/sql 简介  第33章 应用程序...

    oracle database 11g完全参考手册 高清完整版part1 共3部分

     第26章 使用物化视图  第27章 使用oracle text 进行文本搜索  第28章 使用外部表  第29章 使用闪回查询  第30章 闪回:表和数据库  第31章 sql 重放 第ⅳ部分 pl/sql  第32章 pl/sql 简介  第33章 应用程序...

    Oracle_Database_11g完全参考手册.part3/3

    第26章 使用物化视图 第27章 使用Oracle Text进行文本搜索 第28章 使用外部表 第29章 使用闪回查询 第30章 闪问:表和数据 第31章 SQL重放 第Ⅳ部分 PL/SQL 第32章 PL/SQL简介 第33章 应用程序在线升级 第34章 ...

    Oracle_Database_11g完全参考手册.part2/3

    第26章 使用物化视图 第27章 使用Oracle Text进行文本搜索 第28章 使用外部表 第29章 使用闪回查询 第30章 闪问:表和数据 第31章 SQL重放 第Ⅳ部分 PL/SQL 第32章 PL/SQL简介 第33章 应用程序在线升级 第34章 ...

    SQL Server 2008编程入门经典(第3版)

    10.10 索引(物化)视图 10.11 本章小结 10.12 练习 第11章 编写脚本和批处理 11.1 脚本的基础知识 11.1.1 USE语句 11.1.2 声明变量 11.1.3 使用@@IDENTITY 11.1.4 使用@@ROWCOUNT 11.2 批处理 11.2.1 批处理中的错误...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。  DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE这些角色...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    10.10 索引(物化)视图 10.11 本章小结 10.12 练习 第11章 编写脚本和批处理 11.1 脚本的基础知识 11.1.1 USE语句 11.1.2 声明变量 11.1.3 使用@@IDENTITY 11.1.4 使用@@ROWCOUNT 11.2 批处理 11.2.1 批处理中的错误...

    SQL.Server.2008编程入门经典(第3版).part2.rar

    10.10 索引(物化)视图 10.11 本章小结 10.12 练习 第11章 编写脚本和批处理 11.1 脚本的基础知识 11.1.1 USE语句 11.1.2 声明变量 11.1.3 使用@@IDENTITY 11.1.4 使用@@ROWCOUNT 11.2 批处理 11.2.1 批处理中的错误...

    Oracle 11g最佳培训教程PPT(完整)

    毫无保留的讲授,共31部分,内容包括体系结构、特有SQL语法、SQL语法深入分析、分区与索引、视图,触发器,函数,存储过程,游标等技术的使用、大对象存取技巧、数据备份与移植、物化视图。视频教程配套PPT。

    SQL Server 2008高级程序设计 5/6

     8.1 回顾视图语法  8.2 更复杂的视图  8.3 使用T-SQL编辑视图  8.4 删除视图  8.5 审核:显示现有代码  8.6 保护代码:加密视图  8.7 关于模式绑定  8.8 使用VIEW METADATA使自己的视图看起来像一个...

    SQL Server 2008高级程序设计 4/6

     8.1 回顾视图语法  8.2 更复杂的视图  8.3 使用T-SQL编辑视图  8.4 删除视图  8.5 审核:显示现有代码  8.6 保护代码:加密视图  8.7 关于模式绑定  8.8 使用VIEW METADATA使自己的视图看起来像一个...

    SQL Server 2008高级程序设计 6/6

     8.1 回顾视图语法  8.2 更复杂的视图  8.3 使用T-SQL编辑视图  8.4 删除视图  8.5 审核:显示现有代码  8.6 保护代码:加密视图  8.7 关于模式绑定  8.8 使用VIEW METADATA使自己的视图看起来像一个...

Global site tag (gtag.js) - Google Analytics