帮助我了解全局临时表的工作原理
我有将被线程化的进程,并且需要仅对该线程会话可见的数据。所以我们选择了全局临时表。
在所有线程完成后,不删除全局临时表更好,还是删除表是明智的。对此过程的调用可以在一天内发生一次或两次。
大约需要4张桌子
Oracle Temp 表不像 SQL Server #temp 表。我看不出有任何理由不断删除/创建表。 事务或会话完成后,数据将按每个会话消失(取决于表创建选项)。 如果您有多个线程使用同一个数据库会话,它们将看到彼此的数据。 如果每个线程有一个会话,则如前所述,数据的范围有限。 请参阅此处的示例。
如果删除全局临时表并重新创建它,则不会影响任何数据库活动和服务器磁盘 io 活动,因为全局临时表是在临时表空间中创建的,其中没有生成存档,并且检查点没有更新临时文件的标头。在这种情况下,只能准确维护临时表的用途。