全局临时表并发

时间:2010-04-21 08:26:01

标签: oracle concurrency

我有一个全局临时表,在提交时设置为删除。它在并发问题上的表现如何?我的意思是如果另一个会话想要使用该全局临时表会发生什么?答案可能不是“他们共享相同的数据”。

现在,如果我的猜测是正确的:),表是否锁定直到第一个连接提交,或者dbms是否为每个连接创建一个全局临时表? (类似于桌子的一个实例?)

1 个答案:

答案 0 :(得分:8)

来自documentation

  

临时表中的数据仅对将数据插入表中的会话可见。

每个会话都有其临时表的逻辑独立副本。

由于您无法看到其他会话的数据,并且由于Oracle在行级别处理锁定,因此您不能被其他会话的DML阻止。并发DML(插入,删除,更新)不会影响其他会话。

只有DDL需要锁定表(即:ALTER TABLE ...)