データベース テーブルから行をフェッチし、特定の条件に基づいて、他のテーブルに書き込むか、この行を特定の値で更新するバッチ ジョブを作成する必要があります。spring と jdbc を使用して結果セットをフェッチし、毎週実行するようにスケジュールされているスタンドアロンの Java プログラムを使用してレコードを繰り返し処理します。これが正しい方法ではないことは承知していますが、一時的な解決策として行う必要がありました。レコードが数百万に達すると、メモリ不足の例外が発生するため、これが最善のアプローチではないことはわかっています。
このような状況に対処するための最良の方法は何ですか?
スレッドを使用して、スレッドごとに 1000 レコードをフェッチし、それらを並行して処理しますか?
(また)
これを行うには、他のバッチメカニズムを使用します(スプリングバッチがあることは知っていますが、これを使用したことはありません)
(また)
他のアイデアはありますか?