1

我偶然在 oracle 中创建了临时表。但无法理解这个最好的用途。有人可以帮助我了解在 Oracle 中使用临时表(create temporary table temp_table)而不是普通表的特点和好处(create table temp_table)

4

2 回答 2

8

概念指南

临时表定义以与永久表定义相同的方式持续存在,但数据仅在事务或会话期间存在。临时表在必须临时保存结果集的应用程序中很有用,可能是因为结果是通过运行多个操作构建的。

并且

临时表中的数据是会话私有的,这意味着每个会话只能查看和修改自己的数据。

因此,一方面是数据对您的会话是私有的。对于永久表中未提交的数据也是如此,但是对于临时表,数据可以持久存在,但在提交期间保持私有(基于on commit创建子句)。

另一个方面是它们使用临时段,这意味着使用临时表产生的重做和撤消开销比将相同数据临时放入永久表中产生的重做和撤消开销要少得多,可以选择更新它,然后在需要时将其删除完成它。如果多个会话需要自己的临时数据版本,您还可以避免争用和锁定问题。

于 2013-08-20T14:22:03.657 回答
0

以下是我们为什么以及何时应该使用临时表的一些要点:-

1)创建临时表用于以表格形式存储数据,以便在需要时在该特定会话中轻松检索它。

2)它还增加了一个安全目的,即保持数据仅可用于该特定会话。

3) 当代码变长并且打开了很多游标时,最好将数据放在临时表中,以便在需要的时候轻松获取。

于 2013-08-21T00:18:34.763 回答