我正在使用 Oracle 数据库。
而且我需要顺序调用存储过程 1000 次。这个存储过程有几个输入参数和输出参数。 目前我是在一笔交易下做的。 只需使用 java 的 for-each 循环并在其中使用 Spring 的 StoredProcedure。此事务大约需要 4 秒。这不是很酷。我需要加快这个交易时间。有办法吗?
提前致谢
最佳答案
编写一个调用所有其他存储过程的包装存储过程,将所有数据作为散列图或类似的东西输入包装过程(请参阅 http://docs.oracle.com/cd/B19306_01/java.102/b14355/oraarr.htm#g1072333 ),将输出存储在游标中并将其返回给 Java .从 Java 调用包装器。然后让数据库完成所有繁重的工作,整个作业在一个数据库 tx 中运行。
关于具有多个 OUT 参数的 Java 存储过程批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923745/