【问题标题】:Java stored procedure batch with multiple OUT params具有多个 OUT 参数的 Java 存储过程批处理
【发布时间】:2012-06-06 23:29:58
【问题描述】:

我正在使用 Oracle DB。

而且我需要顺序调用存储过程 1000 次。这个存储过程有几个输入参数和输出参数。 目前我正在一项交易下进行。 只需使用 java 的 for-each 循环并在其中使用 Spring 的 StoredProcedure。此事务大约需要 4 秒。而且它不是很酷。我需要加快这个交易时间。有没有办法做到这一点?

提前致谢

【问题讨论】:

    标签: java stored-procedures transactions batch-file


    【解决方案1】:

    编写一个调用所有其他的包装存储过程,将所有数据作为哈希映射或类似的东西输入到包装过程中(参见http://docs.oracle.com/cd/B19306_01/java.102/b14355/oraarr.htm#g1072333),将输出存储在游标中并将其返回给Java .从 Java 调用包装器。然后,您让 DB 完成所有繁重的工作,整个工作在一个 DB tx 中运行。

    【讨论】:

      【解决方案2】:

      您可以批量查询(如果是 1000 个不可预测的 ID,则使用“in”)并每次返回一个游标而不是几个 out 参数?当然,如果您的 in 参数每次调用都不同,这将不会那么容易。

      【讨论】:

      • 是的,我有不同的输入参数。所以,在我的情况下,这个解决方案似乎是不可接受的。
      猜你喜欢
      • 2013-10-10
      • 2013-11-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2014-01-01
      • 2011-07-29
      • 2015-11-20
      相关资源
      最近更新 更多