oracle物化视图和临时表的区别是什么

如题所述

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

临时表的数据,根据定义在事务提交或session断开的时候会自动清除,因此更适合存放一些计算过程的中间数据。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-05-06
在做一个项目A时, 在生产库上创建物化视图日志, 使用dblink在项目A的数据库上创建物化视图, 物化视图是基于rowid的, 且生产库的表都是千万级的大表, 刷新时间又要求半小时刷新一次,在创建物化视图的时候使用的也是快速刷新, 但在刷新的时候会出现一个问题: 刷新时, 物化视图日志的内容会与主表的数据进行比对, 确认物化日志内的数据是否存在在主表内, 然后再刷新, 这样就拖慢了生产库的速度; 这个问题是客户那边的oracle数据库管理员发现的, 如何避免这个问题? 使用基于主键的物化视图是否能避免这个问题? 两种物化日志: Create Materialized View Log On SBDA_CPFTARACDT With Rowid; 两种物化视图:本回答被网友采纳

oracle物化视图和临时表的区别是什么
物化视图的数据是永久保持的,而且会随着视图相关表数据的变化,根据定义定时或实时进行更新。物化视图大部分情况下是为了性能优化使用的,可以大大提升复杂sql的运行效率。临时表的数据,根据定义在事务提交或session断开的时候会自动清除,因此更适合存放一些计算过程的中间数据。

oracle普通视图与物化视图的区别
区别是:定义不同、内容不同、刷新方法不同。具体内容如下:物化视图是一种特殊的物理表,物化视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,都实际上转换为视图语句的查询。这样对整体查询性能的提高,并没有实质上的好处。普通视图和物化视图根本就不是一个东西,说...

临时数据表session和transaction的区别
会话级临时表采用 on commit preserve rows ;而事务级则采用 on commit delete rows ;用法上,会话级别只有当会话结束临时表中的数据才会被截断,而且事务级临时表则不管是 commit 、 rollback 或者是会话结束,临时表中的数据都将被截断 4 )什么时候使用临时表 1 )、当某一个 SQL 语句关联的表在 ...

ORACLE临时表总结
临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又有很大区别。它只能存储在临时表空间,而非用户的表空间。ORACLE临时表是会话或事务级别的,只对当前会话或事务可见。每个会话只能查看和修改自己的数据。临时表语法 clip_image002 临时表分类 ORACLE临时表...

物化视图和普通视图的区别是什么?
普通视图和物化视图根本就不是一个东西,说区别都是硬拼到一起的,首先明白基本概念,普通视图是不存储任何数据的,他只有定义,在查询中是转换为对应的定义SQL去查询,而物化视图是将数据转换为一个表,实际存储着数据,这样查询数据,就不用关联一大堆表,如果表很大的话,会在临时表空间内做大量的...

oracle为什么要创建一个表空间和临时表空间?
临时表空间用来进行一些运算和索引创建等,多数使用完会自动清理,而表空间是正常数据物理存储的永久空间,两者的用途不同,为了更好的管理所以区分开来创建。临时表空间主要用途是在数据库进行CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS...

oracle存储中创建并查询临时表
3)、两种不通类型的临时表的区别:语法上,会话级临时表采用on commit preserve rows而事务级则采用on commit delete rows;用法上,会话级别只有当会话结束临时表中的数据才会被截断,而且事务级临时表则不管是commit、rollback或者是会话结束,临时表中的数据都将被截断。例子: 1)、会话级(Session关闭掉之后数据就没有...

MIMIC数据库,常用查询指令SQL基础(二)
SQL JOIN操作,包括LEFT JOIN、INNER JOIN和RIGHT JOIN,是连接不同表以整合信息的基础工具。这些连接类型帮助我们从不同角度整合数据,如提取年龄大于60岁的患者性别和ICU生存时间,通过LEFT JOIN实现这个目标。JOIN操作不仅限于单个查询,它们也是多表数据整合的核心。在MIMIC数据库中,多个临时视图的使用...

oracle为什么要创建表空间是什么
临时表空间:主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union\/intersect\/minus\/、sort-merge及join、analyze命令]、管理索引[如创建索 引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。备注:因为用途不同所以才有了区分,实际上...

Oracle中逻辑结构和物理结构,他们之间的关系是什么?
*3、表空间将数据库的物理结构与逻辑结构相连接2、物理结构2.1、控制文件 (Control files):主要记录数据库的物理结构及其他的一些控制信息,如数据库的名称、数据文件、日志文件的名称及位置。通常oracle会保留多个控制文件副本,并分别放在不同的物理位置,一旦其中的某个控制文件损坏,则可以通可其它的副本进行启动。

相似回答