Bab*_*bar 1 sql database oracle stored-procedures temp-tables
我是oracle的新手.我需要在存储过程中处理大量数据.我正在考虑使用临时表.我正在使用连接池,应用程序是多线程的.
有没有办法以每次调用存储过程创建不同表实例的方式创建临时表,以便来自多个存储过程调用的数据不会混淆?
你说你是Oracle新手.我猜你已经习惯了SQL Server,在那里使用临时表很常见.Oracle的工作方式不同,因此不太常见,因为它不太必要.
请记住,使用临时表会产生以下开销:
顺便提一下,你提到连接池会引发另一个问题.重置大量数据的进程不适合在OLTP模式下运行.你真的应该考虑启动一个后台(即asysnchronous)进程,可能是一个数据库作业,来运行你的存储过程.如果您想定期运行此作业,尤其如此,因为我们可以使用DBMS_SCHEDULER自动管理此类事务.