Oracle普通视图和物化视图的区别】的更多相关文章

摘自:http://blog.csdn.net/javaee_sunny/article/details/53439980 目录(?)[-] Oracle 10g 物化视图语法如下 实例演示 主要步骤 在A节点创建原表和物化视图日志 在B节点创建连接A节点的远程链接 在B节点处创建目标表和与目标表名称相同的物化视图 在B节点处刷新物化视图 升级采用存储过程定时任务JOB方式定时刷新物化视图 进一步优化 文章更新记录 参考文章 Oracle 10g 物化视图语法如下: create materia…
目的:实现远程数据库访问及其相应表的定时同步 一.远程数据库dblink的创建 select * from dba_db_links; select * from user_sys_privs;--查询用户权限 1.查看scott用户是否具备创建database link 权限 select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='SCOTT'; 2.授权dblink gr…
关于这一点一直就是很懵懂的状态,今天特意网上查了一下资料,以下摘抄网上比较好的答案.以作记录. 普通视图和物化视图的区别答曰:普通视图和物化视图根本就不是一个东西,说区别都是硬拼到一起的,首先明白基本概念,普通视图是不存储任何数据的,他只有定义,在查询中是转换为对应的定义SQL去查询,而物化视图是将数据转换为一个表,实际存储着数据,这样查询数据,就不用关联一大堆表,如果表很大的话,会在临时表空间内做大量的操作.普通视图的三个特征:1.是简化设计,清晰编码的东西,他并不是提高性能的,他的存在只会降…
视图和物化视图区别 postgres中的视图和mysql中的视图是一样的,在查询的时候进行扫描子表的操作,而物化视图则是实实在在地将数据存成一张表.说说版本,物化视图是在9.3 之后才有的逻辑. 比较下视图和物化视图的性能 创建两个表 CREATE TABLE teacher ( id int NOT NULL, sname varchar(100) ); CREATE TABLE student ( sid int NOT NULL, teacher_id int NOT NULL DEFAU…
介绍 物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询, Oracle 都实际上转换为视图SQL语句的查询.这样对整体查询性能的提高,并没有实质上的好处. 1.物化视图的类型:ON DEMAND.ON COMMIT 二者的区别在于 刷新方法 的不同,ON DEMAND顾名思义, 仅在该物化视图“需要”被刷新了,才进行刷新(REFRESH),即更新物化视图,以保证和基表数据的一致性 : 而ON COMMIT…
1.创建DBLINK -- Drop existing database link drop public database link LQPVPUB; -- Create database link CONNECT using "LQPVPUB" 2.创建物化视图日志(远程主机操作) CREATE MATERIALIZED VIEW LOG ON dm_basicmodel WITH PRIMARY KEY INCLUDING NEW VALUES; 3.创建物化视图 CREATE…
本文出处:http://www.cnblogs.com/wy123/p/6694933.html 第一次通过索引视图优化SQL语句,以及遇到的一些问题,记录一下. 语句分析 最近开发递交过来一个查询统计的SQL,说是性能有问题,原本执行需要4-5秒钟,这个业务本身对性能要求又比较critical,期望是在1s之内在用尽各种办法之后(执行计划,统计信息,索引,改写SQL,临时表拆分),依然没有实质性的改观,在观察SQL本身的特点之后,有以下几个特点 1,查询语句整体为多表join,但是每个表自身的…
一.    物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表.物化视图存储基于远程表的数据,也可以称为快照. 物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果.物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能:物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性:物化视图需要占用存储…
物化视图创建语法:CREATE MATERIALIZED VIEW <schema.name>PCTFREE <integer>--存储参数PCTUSED <integer>--存储参数TABLESPACE <tablespace_name>--表空间BUILD IMMEDIATE|DEFERRED--创建方式ENABLE|DISABLE QUERY REWRITE--是否支持查询重写REFRESH <FORCE|FAST|COMPLETE|NEVER…
物化视图(material view)是什么? 物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表. 物化视图存储基于远程表的数据,也可以称为快照(类似于MSSQL Server中的snapshot,静态快照).对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的. 如果你想修改本地副本,必须用高级复制的功能.当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取. 对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视…
--物化视图可以分为三种类型:* 包含聚集的物化视图* 只包含连接的物化视图* 嵌套物化视图三种物化视图的快速刷新的限制条件有很大区别,而对于其他方面则区别不大. --物化视图创建方式(Build Methods),包括BUILD IMMEDIATE和BUILD DEFERRED两种.* BUILD IMMEDIATE是在创建物化视图的时候就生成数据,* BUILD DEFERRED则在创建时不生成数据,以后根据需要在生成数据.默认为BUILD IMMEDIATE. --物化视图查询重写(Que…
百度文库 http://wenku.baidu.com/view/f78f55c68bd63186bcebbc4b.html ORACLE物化视图 一.------------------------------------------------------------------------------------------ 物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表.物化视图存储基于远程表的数据,也可以称为快照. 物化视图可以查询…
普通视图和物化视图根本就不是一个东西,说区别都是硬拼到一起的,首先明白基本概念,普通视图是不存储任何数据的,他只有定义,在查询中是转换为对应的定义SQL去查询,而物化视图是将数据转换为一个表,实际存储着数据,这样查询数据,就不用关联一大堆表,如果表很大的话,会在临时表空间内做大量的操作. 有个项目因为有比较多的查询汇总,考虑到速度,所以使用了物化视图.简单的把用到的给整理了下.   先看简单创建语句: create materialized view mv_materialized_test r…
写在前面 先大概列一下数据库表设计的常规流程.方案.要遵循的规则 根据业务切分设计表 逻辑分层(数据库分层) 数据库结构设计与拆分:水平拆分(mysql分片)oracle分区物化视图中间表设计方案 优化结构设计:建立普通索引建立规则索引建立复合索引数据规则(添加你认为必要的扩展字段)预留字段(用于关联其他业务的)做一些合理的冗余 物化视图的概念 视图(VIEW)是一种虚表,其目的仅仅是为了方便我们进行综合数据查询,它并不能提高性能.想要提高性能的话,就需要引出物化视图了. 物化视图是一种特殊的物…
物化视图的快速刷新要求基本必须建立物化视图日志,这篇文章简单描述一下物化视图日志中各个字段的含义和用途. 物化视图日志的名称为MLOG$_后面跟基表的名称,如果表名的长度超过20位,则只取前20位,当截短后出现名称重复时,Oracle会自动在物化视图日志名称后面加上数字作为序号. 物化视图日志在建立时有多种选项:可以指定为ROWID.PRIMARY KEY和OBJECT ID几种类型,同时还可以指定SEQUENCE或明确指定列名.上面这些情况产生的物化视图日志的结构都不相同. 任何物化视图都会包…
Oracle物化视图的快速刷新机制是通过物化视图日志完成的.Oracle如何通过一个物化视图日志就可以支持多个物化视图的快速刷新呢,本文简单的描述一下刷新的原理. 首先,看一下物化视图的结构:SQL> create table t(id number, name varchar2(30), num number);表已创建. SQL> create materialized view log on t with rowid, sequence(id, name) including new v…
1.视图理论 1.1.视图的存储 1.2.视图的作用 1.3.视图的工作机制 1.4.视图的依赖性 1.5.可更新的连接视图 1.6.内联视图 2.物化视图 2.1.刷新物化视图 2.2.物化视图日志 2.3.管理物化视图 2.4.物化视图与索引 3.总结 我曾遇到一个项目的数据库中视图比表还要多很多(表和视图加起来上千个),几乎每个表都有对应的视图,而且有很多视图长得相似,比如有些视图关联的表一样,只是查询列表多或少了一两个字段.我敢断定,这就是因为一些水平低劣的开发人员看现有表或视图的数据不…
oracle物化视图 一.oracle物化视图基本概念  物化视图首先需要创建物化视图日志,  oracle依据用户创建的物化视图日志来创建物化视图日志表,  物化视图日志表的名称为mlog$_后面跟基表的名称,  如果表名的长度超过20位,则只取前20位,当截短后出现名称重复时,oracle会自动在物化视图日志名称后面加上数字作为序号.  创建物化视图日志在建立时有多种选项:可以指定为rowid.primary key和object id几种类型,同时还可以指定sequence或明确指定列名.…
怎么理解物化视图呢,先随意拿一个建物化视图的例子看一下. create materialized view EBS_ACCOUNTS_HIERARCHY_MV refresh complete on demand as select v.flex_value, v.description, case when (sysdate between nvl(v.start_date_active, sysdate) and nvl(v.end_date_active, sysdate)) and (v…
现实工作中会有多个数据源同步到一个数据库完成数据分析的场景,这些数据可以不是实时同步的,我们一般通过定时任务抽取数据到统计分析库给应用使用. 一般的同步方式可以通过时间戳做全量和增量数据同步(存在原数据变化可能,数据不一致的情况),也可以通过dblink做数据实时查询(较损耗线上数据库性能),一般最好的方式是通过建立物化视图,然后通过schedual job完成定时数据同步,这里就记录下物化视图的使用. 一.物化视图简介 物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对…
一.物化的一般使用方法物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表.应用的局限性大,不论什么对视图的查询.oracle都实际上转换为视图SQL语句的查询.这样对总体查询性能的提高.并没有实质上的优点. 1.物化视图的类型ON DEMAND.ON COMMIT. 二者的差别在于刷新方法的不同,ON DEMAND顾名思义,仅在该物化视图"须要"被刷新了.才进行刷新(REFRESH).即更新物化视图.以保证和基…
目录 一.物化视图简介 二.实践:创建物化视图 一.物化视图简介 物化视图分类 物化视图分类,物化视图语法和as后面的sql分为: (1) 基于主键的物化视图(主键物化视图) (2)基于Rowid的物化视图(Rowid物化视图) 本博客介绍一下Oracle的物化视图,物化视图(Materialized view)是相对与普通视图而已的,普通视图是伪表,功能没那么多,而物化视图创建是需要占用一定的存储空间的,物化视图常被应用与调优一些列表SQL查询,物化视图的基本语法: create materi…
本位出处:http://www.cnblogs.com/wy123/p/6041122.html 经常听Oracle的同学说起来物化视图,物化视图的作用之一就是可以实现查询重写,听起来有一种高大上的感觉, SQL Server也有类似于Oracle物化视图的功能,只不过叫做索引视图. 说实话,还是物化视图听起来比较合适,与普通视图比,物化视图就是直接将数据存储起来了 SQL Server中的索引视图也具有查询重写的功能, 所谓的查询重写,就是如果符合条件的数据在索引视图上,并且查询列都包含在在索…
视图视图是数据库中特有的对象.视图用于存储查询,但不会存储数据(物化视图除外).这是视图和数据表的重要区别.可以利用视图进行查询,插入,更新和删除数据.Oracle有如下四种视图(关系视图,内嵌视图,对象视图,物化视图) 一.关系视图: 关系视图是四种视图中最简单.同时也是最常用的视图.读者可以将关系视图看做对简单或复杂查询的定义.它的输出可以看做一个虚拟的表,该表的数据是由其他基础数据表提供的.由于关系视图并不存储真正的数据,因此占用数据库资源比较少. 1.创建关系视图:--创建准备使用的表 …
概念:物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询.这样对整体查询性能的提高,并没有实质上的好处. 物化视图类型:包含聚集的物化视图:只包含连接的物化视图:嵌套物化视图.三种物化视图的快速刷新的限制条件有很大区别,而对于其他方面则区别不大. 创建物化视图时可以指定多种选项,下面对几种主要的选择进行简单说明: 创建方式(Build Methods):包括B…
一.    物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表.物化视图存储基于远程表的数据,也可以称为快照. 物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果.物化视图有很多方面和索引很相似:使用物化视图的目的是为了提高查询性能:物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性:物化视图需要占用存储…
一.物化视图定义摘录:     物化视图是包括一个查询结果的数据库对像(由系统实现定期刷新数据),物化视图不是在使用时才读取,而是预先计算并保存表连接或聚集等耗时较多的操作结果,这样在查询时大大提高了读取速度,特别适用抽取大数据量表某些信息以及数据链连接表使用.而且在数据仓库中使用到重写机制,对于用户来说,Oracle会自己选择合适的物化视图进行查询,不需要重新写SQL.       物化视图还可以进行远程数据的的本地复制,此时的物化视图存储也可以称为快照.可是用于实施数据库间的同步.通常情况下…
由于物化视图定义为on commit导致update更新基表慢的解决方案 以下是模拟和解决测试过程: (模拟update慢的过程) 1.首先基于基表创建物化视图日志: create materialized view log on scott.emp with rowid; 2.首先基于scott用户下emp创建物化视图: create materialized view mv_emp REFRESH FAST on commit as select * from scott.emp; 3.通过…
什么是视图 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的. 视图只有逻辑定义.每次使用的时候,只是重新执行SQL. 视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中.那些用于产生视图的表叫做该视图的基表.一个视图也可以从另一个视图中产生. 视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中.通过视图看到的数据存放在基表中. 视图看上去非常象数据库的物理表,对它的操作同任何其它的表一样. 当通过视图修改数…
PostgreSQL 9.3 以后出现了物化视图.物化视图是由实实在在的数据组成,这是和一般视图的根本区别. 1. 物化视图创建语法如下: --创建语法 CREATE MATERIALIZED VIEW table_name [ (column_name [, ...] ) ] [ WITH ( storage_parameter [= value] [, ... ] ) ] [ TABLESPACE tablespace_name ] AS query [ WITH [ NO ] DATA ]…