【问题标题】:Oracle: What’s the difference between a permanent and a temporary data file?Oracle:永久数据文件和临时数据文件有什么区别?
【发布时间】:2017-09-24 07:10:22
【问题描述】:

Oracle:永久数据文件和临时数据文件有什么区别?

【问题讨论】:

    标签: sql database oracle plsql oracle11g


    【解决方案1】:

    如果用temporary表示全局临时表,则内容存储在临时表空间中(默认为tempdb,但默认可以更改)。内容由会话隔离,并在会话终止时消失。您可以使用“on commit delete rows”或“ON COMMIT PRESERVE ROWS”来创建,它们完全按照他们所说的去做。临时表对于在处理过程中保存大量数据非常有用,其中的内容将来不会使用。虽然它们仍然会生成大量的撤消日志,但它们生成的重做日志要少得多,因此与为相同目的使用永久表相比,它们需要的数据库资源要少一些。

    由于数据是按会话隔离的,它简化了并发活动的编码,您无需担心一个会话会踩到另一个会话的数据。

    【讨论】:

      【解决方案2】:

      永久表(物化表)作为文件存储在硬盘中。临时表只存在于事务中。此外,全局临时表可能在事务之外仍然有效,但并未真正存储。

      【讨论】:

      • '#' 是 SQL Server 语法,这是用 Oracle 标志询问的。您的答案对 SQL Server 是正确的,而不是 Oracle
      【解决方案3】:

      简而言之,用于存储永久模式数据的永久表空间,用于在 DB 工作时发生的中间数据的临时表空间,例如结果集排序、分组排序等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-05
        • 2014-02-12
        • 1970-01-01
        • 1970-01-01
        • 2020-07-23
        • 2021-03-21
        • 2014-01-19
        • 1970-01-01
        相关资源
        最近更新 更多