【发布时间】:2017-09-24 07:10:22
【问题描述】:
Oracle:永久数据文件和临时数据文件有什么区别?
【问题讨论】:
标签: sql database oracle plsql oracle11g
Oracle:永久数据文件和临时数据文件有什么区别?
【问题讨论】:
标签: sql database oracle plsql oracle11g
如果用temporary表示全局临时表,则内容存储在临时表空间中(默认为tempdb,但默认可以更改)。内容由会话隔离,并在会话终止时消失。您可以使用“on commit delete rows”或“ON COMMIT PRESERVE ROWS”来创建,它们完全按照他们所说的去做。临时表对于在处理过程中保存大量数据非常有用,其中的内容将来不会使用。虽然它们仍然会生成大量的撤消日志,但它们生成的重做日志要少得多,因此与为相同目的使用永久表相比,它们需要的数据库资源要少一些。
由于数据是按会话隔离的,它简化了并发活动的编码,您无需担心一个会话会踩到另一个会话的数据。
【讨论】:
永久表(物化表)作为文件存储在硬盘中。临时表只存在于事务中。此外,全局临时表可能在事务之外仍然有效,但并未真正存储。
【讨论】:
简而言之,用于存储永久模式数据的永久表空间,用于在 DB 工作时发生的中间数据的临时表空间,例如结果集排序、分组排序等。
【讨论】: