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