2016-07-07 8 views
1

私はJDBCを使用しており、6000行の膨大な量のデータを返すDB2でストアドプロシージャを使用しています。この膨大な量のため、(dbサーバーからアプリケーションサーバーへの)ネットワーク転送には時間がかかります。jdbcで大きな結果セットを読み取る

私が考えているのは、複数のJavaスレッドを使用して、各スレッドが異なるデータブロックを返すストアドプロシージャを呼び出すことです。 スレッド1 - 行1 - 行1000。 スレッド2 - 行1001 - 行2000; スレッド3 - 行2001 - 行3000など

これらのスレッドはすべて並列に実行でき、各スレッドの結果を集計できます。

JDBCなどの手段を使用してこの問題を処理する方法はありますか?

+2

6000行は膨大な量のデータではありません。これをマルチスレッド化すると何も改善されません。 – EJP

答えて

0

JDBCドライバによっては、setting the fetch sizeが役立ちます。デフォルトのフェッチサイズが0の場合、ドライバはすべての行を一度にメモリに読み込んでいる可能性があります。これが遅いためです。

関連する問題