今天从书上看到了一章关于“临时表”的介绍,“临时表”也是我在此前学习中不曾涉及到的地方。
绝大多数关系型数据库都有临时表, 这在SQL-92中也是一个标准,临时表的特性在于分布式的运用, 也即任何一个用户连接到数据库, 即使使用的是同名临时表,这个用户的所有操作也对另一连接的用户不可见。临时表多用户并行不是问题
1。会话特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT PRESERVE ROWS;
2。事务特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT DELETE ROWS;
CREATE GLOBAL TEMPORARY TABLE MyTempTable
--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
ON commit delete rows子句定义的临时表它的特性在于临时表的所有数据将在一次事物提交后被全部删除;
ON commit preserve rows子句定义的临时表它的特性在于临时表的所有数据在一次失事物交后将依旧保留。
但是无论使用哪种on commit子句定义的临时表, 它在一次数据库连接结束后都将被删除所有数据。
每一种数据库对于临时表的定义都存在着兼容性的问题, 在SQL-92编码规则中, 临时表创建后即使连接结束页不会被删除, 符合这个标准的数据库具有代表性的就是ORACLE。(~~~~有待自己的实验验证)....
令人困惑的是刚才在网上查找了相关的帖子又有说: 使用临时表的并发度下降? 困惑.....
分享到:
相关推荐
这个“Delphi演示数据库的临时表应用例子”压缩包显然是为了解释如何在Delphi中利用数据库的临时表功能。临时表在数据库管理中是一个重要的概念,尤其是在处理大量数据或者进行复杂查询时,它能提供高效的解决方案。...
在计算机等考三级数据库基础的学习中,临时表和游标是两个重要的概念,尤其是在处理数据操作和查询时。本文将对这两个概念进行深入的总结。 首先,临时表是一种特殊的数据库对象,它存在于`tempdb`系统数据库中。...
Oracle数据库中的临时表是一种特殊的表类型,主要用于存储在特定会话或事务期间产生的临时数据。与常规的永久表相比,临时表的数据不会永久保存,而是会在会话结束或事务完成时自动清除,无需用户手动删除。 1. **...
在本文中,我们将深入探讨如何在Delphi环境中利用ODBC来创建MySQL数据库中的临时表,并理解这个过程中的关键知识点。 首先,让我们了解临时表的基本概念。临时表是在会话级别创建的,只对当前连接可见,当会话结束...
在Oracle数据库系统中,表空间(Tablespace)是存储数据对象(如表、索引、视图等)的逻辑单位,而临时表空间(Temporary Tablespace)则用于存储临时数据,比如排序或联接操作产生的中间结果。创建和管理表空间及...
本帮助文档旨在为管理员提供关于Oracle数据库管理、临时表操作、数据导入导出以及用户管理的重要知识。 首先,Oracle数据库管理涵盖了一系列复杂的任务,包括但不限于数据库创建、性能优化、备份恢复和故障排查。...
Oracle临时表是数据库管理系统...通过学习和理解Oracle临时表,我们可以更有效地管理短暂的、会话级别的数据,优化数据库性能,提升应用的响应速度。在实际工作中,适时使用临时表能为我们的数据库操作带来极大的便利。
本"sql数据库学习课件"旨在深入讲解SQL的核心概念和实际应用,帮助学习者掌握数据库设计与管理的关键技能。 首先,我们要理解SQL的基础——语法。SQL语法包括了数据查询、数据插入、更新和删除等基本操作。例如,`...
### SQL数据库学习资料知识点概述 本篇学习资料主要聚焦于SQL数据库中的两个核心概念:游标与存储过程。这两者都是数据库操作中的高级技术,在实际应用中能够大大提高数据处理的效率与灵活性。以下是对这两个主题的...
本文总结了一些 MySQL 数据库优化技巧,包括选择合适的字段属性、使用连接(JOIN)代替子查询、使用联合(UNION)代替手动创建的临时表、事务、锁定表、外键等。 一、选择合适的字段属性 在创建 MySQL 数据库时,...
系统数据库如Master、Model、Tempdb和Msdb各有其特定功能,例如Master存储系统表格和环境信息,Model作为创建新数据库的模板,Tempdb用于临时数据,Msdb服务于SQL Server代理。 创建数据库的SQL语句通常包括指定...
tempdb数据库作为临时工作空间,用于存储临时表和中间计算结果,是SQL Server处理短期存储需求的关键组件。 在数据存储的选择上,int自增字段和GUID各有优缺点。int自增字段节省空间,但效率相对较低,特别是在数据...
这些基础知识构成了Oracle大型数据库学习的基础,对于初学者来说,掌握这些内容能够帮助他们快速上手,并逐步深入到更高级的数据库管理和开发中去。通过实践和理论相结合,可以更好地理解和应用Oracle数据库系统。
每次触发器被激活,系统会自动创建两个临时表: 1. **inserted表**:存储了所有由INSERT或UPDATE操作新插入的行,对于DELETE操作,它是空的或包含被删除的行的副本。 2. **deleted表**:存储了所有由DELETE操作删除...
【Sybase临时表技术的多层级应用研究】 Sybase临时表技术是一种在数据库操作中用于在存储过程或批处理命令中传递数据的技术。...通过不断学习和实践,可以逐步掌握临时表的高级应用,从而提高系统的整体性能。
在CSqlite类中,可能有一个`CreateTemporaryTable()`方法,用于在当前连接的临时数据库中创建临时表。 4. **使用CSqlite类**: CSqlite类是一个封装了SQLite API的C++类,它可以简化数据库操作。这个类可能包含...
在SQL(Structured Query Language)中,多表查询是数据库操作中的一个重要概念,它允许我们从不止一个表中获取数据,从而实现更复杂的数据分析和整合。这个“SQL数据库多表查询练习题”旨在帮助你深化对这一核心...
### ORACLE数据库学习心得 #### 一、Oracle数据库的特点 Oracle数据库是一款由Oracle公司开发的关系型数据库管理系统。作为全球领先的企业级数据库之一,Oracle具备多种优势特性,使其成为众多企业和组织首选的...
最后,存储过程还可以用于联接多个表,如`Product`和`Order`,创建一个临时表来展示产品编号、产品名称、客户名、订金和总金额,总金额由订金和订数相乘得出。这展示了存储过程在数据处理和分析中的强大能力。 总之...
- 主要用于磁盘排序操作,即当数据量太大无法完全放入内存中时,Oracle 会在临时表空间中进行排序。 ### 5. 表空间 (`tablespace`)、段 (`segment`)、扩展区 (`extent`) 和块 (`block`) 之间的关系 - **表空间 ...