2

私はOracle DBを使用しています。

そして、ストアドプロシージャを1000回連続して呼び出す必要があります。このストアド プロシージャには、いくつかの in パラメータと out パラメータがあります。現在、私は1つのトランザクションでそれを行っています。Java の for-each ループを使用し、その中で Spring の StoredProcedure を使用するだけです。このトランザクションには約 4 秒かかります。そして、それはあまりクールではありません。この取引時間を短縮する必要があります。それを行う方法はありますか?

前もって感謝します

4

2 に答える 2

1

他のすべてのものを呼び出すラッパー ストアド プロシージャを作成し、すべてのデータをハッシュマップとしてラッパー プロシージャに入力するか、または類似のものを作成します ( http://docs.oracle.com/cd/B19306_01/java.102/b14355/oraarrを参照)。 .htm#g1072333 )、出力をカーソルに格納し、それを Java に戻します。Java からラッパーを呼び出します。次に、DB にすべての面倒な作業を行わせ、ジョブ全体を 1 つの DB tx で実行します。

于 2012-06-06T23:54:32.517 に答える