转载网上搜的总结 有点启发
问题总结:
临时表 物理表 以及内存表 三个表我都做了10W 次的数据 查询 增加 删除 修改的工作 结论如下:
临时表在各项指标中 均超过内存表以及物理表 无疑是效率最快的! 查询效率 内存表和临时表效率接近,物理表查询效率微慢,增删改 效率 (所耗时间)物理表 > 内存表 > 临时表,
结论为 物理表有详细的日志记录,但效率不高,内存表提高了效率,同样日志也很全,但是要分配KEEP池空间(太大占内存),临时表 效率最高,日志记录较少,可以用作存储过程缓存数据使用,缺点就是,还是要占用大量的IO读写操作,效率并没有什么质的飞跃(时间缩短较物理表缩短1半),慎用!无论是事务还是会话型 都要清空数据 所以生命周期有限,使用时需特别注意!
补充一点,临时表比普通表好的重点不在于不产生redo log,而是可以避免在大数据量操作的时候,不用临时表的单个查询会将大量数据直接读进内存,往往造成内存不够用,此时系统会将数据部分存储在磁盘上,这样会不停的在内存和磁盘上进行数据交换,这个操作会极大的影响效率,比单纯的读I/O更加浪费时间。
所以在进行大数据量操作的时候,一般建议用临时表,如果数据量比较小,在保证正确执行计划的前提下临时表的确没什么大作用。
分享到:
相关推荐
为了解决这个问题,可以通过使用Oracle临时表来提高处理效率。本文将详细介绍Oracle临时表的创建方法、使用场景以及优缺点,帮助读者更好地理解和运用这一特性。 #### 二、Oracle临时表概述 Oracle临时表是一种...
6. Hash Join 的作用:Hash Join 可以提高 SQL 语句的执行效率,但其也可能会消耗大量的临时表空间。 7. Oracle 数据库的性能优化:Oracle 数据库的性能优化需要从多方面入手,包括服务器硬件性能、操作系统设置、...
**二、Oracle临时表** 临时表在Oracle中用于在单个会话中存储临时数据,这些数据只对创建它们的会话可见,会话结束时,临时表及其数据都会被自动删除。 1. **创建临时表**:使用`CREATE GLOBAL TEMPORARY TABLE`...
#### 二、Oracle临时表概述 临时表是Oracle提供的一种特殊类型的表,用于存储临时数据。它们通常用于执行复杂的计算任务或暂存中间结果,以减少对主表的访问次数,从而提升整体性能。根据生命周期的不同,临时表...
临时表可以在不同的数据库管理系统中使用,本文将对 MS SQLSERVER、Oracle 和 DB2 中的临时表进行介绍。 MS SQL SERVER 中的临时表 在 MS SQL SERVER 中,临时表是以井号 (#) 或数学符号 (##) 开头的表名。临时表...
### Oracle特性临时表详解 #### 一、临时表概述 在Oracle数据库中,临时表是一种特殊类型的表,它主要用于存储那些仅对当前会话或事务有意义的数据。...理解并合理利用临时表可以显著提升应用程序的性能和效率。
然而,当排序区的空间不足时,Oracle会将超出内存容量的临时数据存储到临时表空间中。 临时表空间在数据库操作中扮演着关键角色,尤其是在处理复杂查询和大型数据集时。虽然看似只是临时存储,但实际上它对数据库...
这不仅提高了并行操作的效率,还减少了单个临时表空间的负载压力。 4. **多会话共享资源:** 用户在不同的会话中可以同时访问多个临时表空间。这种机制允许不同会话间的查询操作更高效地运行,尤其是当这些查询涉及...
本文将深入探讨如何利用Oracle临时表来优化查询速度,并提供具体的实现策略。 #### 一、Oracle临时表的基本概念及应用场景 Oracle临时表是一种特殊类型的表,它们主要用于存储临时数据,这些数据通常在一次会话...
### 一个选查询后插入到一个临时表的Oracle函数 #### 概述 在Oracle数据库环境中,函数是一种非常有用的数据库对象,它允许开发者封装复杂的逻辑并返回特定的结果。本文将详细解析一个特定的Oracle函数——`NS_...
在大数据环境中,当多张大表进行关联查询时,如果发现某个子查询返回的结果集较小且查询速度快,可以将这些子查询结果暂存到临时表,以提高整体查询效率。临时表的使用能够有效避免重复计算,减少I/O操作,尤其是在...
《Oracle数据库中的临时表》 在Oracle数据库系统中,临时表(Temporary Tables)是一种特殊类型的表,它主要用于存储在特定会话或事务期间产生...通过合理利用临时表,开发者可以优化数据库性能,提升应用程序的效率。
创建Oracle临时表的语法是`CREATE GLOBAL TEMPORARY TABLE`,并且可以指定`ON COMMIT`子句来决定数据何时清除,交易级别(Transaction)或会话级别(Session)。交易级别意味着在每次提交时清空表,而会话级别则是在...
在Oracle中删除表中的重复数据,可以采用多种策略,但通常涉及创建一个临时表来保存去重后的数据,然后用这个临时表覆盖原始表。这种方法可以避免直接修改原表带来的风险,确保操作的安全性。以下是一种具体的实现...
总结来说,Oracle的存储过程结合临时表,可以有效地处理复杂的业务逻辑,返回结果集,并在会话范围内提供一个安全、高效的工作区。在设计和编写存储过程时,灵活运用这些技术能够显著提升数据库应用程序的性能和可...
在存储过程中创建临时表,可以避免对永久表进行频繁的增删改操作,提高效率。 调用Oracle存储过程并处理返回的游标(Cursor)在Java中通常涉及以下步骤: 1. **建立数据库连接**:使用JDBC(Java Database ...
以Oracle数据库为例,我们可以使用以下SQL语句来创建一个简单的临时表: ```sql CREATE GLOBAL TEMPORARY TABLE TableName ( FieldA VARCHAR2(20), FieldB NUMBER(10) ) ON COMMIT PRESERVE ROWS; ``` - `CREATE...
4. **同步临时表**(可选): 如果在数据迁移过程中,表`EMP`可能有新的写入或更新,可以调用`DBMS_REDEFINITION.SYNC_INTERIM_TABLE`确保迁移过程中数据的一致性。 5. **复制权限对象**: 通过`DBMS_...
表空间分为多种类型,包括系统表空间(如 `SYSTEM` 和 `SYSAUX`)、回滚表空间(UNDO)、临时表空间(TEMP)以及用户数据表空间(USERS)。系统表空间存放数据库系统组件,不建议存储用户数据;回滚表空间用于存储...
创建Oracle临时表有两种方式,分别对应于会话级临时表和事务级临时表: 1. **会话特有的临时表**: 使用`ON COMMIT PRESERVE ROWS`选项创建的临时表,其数据在整个会话期间保持有效。即使在提交事务后,数据也不会...