Javaで4Millionsレコードを処理する必要があります。 AS400からOracleにコピーする必要があります。私は何をしているのですか?バッチごとにレコードバッチをコミットしています。バッチサイズはユーザー定義です。そのことを仮定しましょう。ConnectionオブジェクトがJavaでクリアされるときは?
私は接続オブジェクトを作成し、100レコードのバッチを作成してコミットします。 2000をコミットしたら、既存のConnectionオブジェクトを閉じて新しいConnectionオブジェクトを作成します。
だから、私は以下の疑問を持っています。
私はバッチをコミットし、私は100レコードをコミットしたデータはメモリになりますか?接続オブジェクトでは?私はそれを閉じていないので?
- 何か新しい接続オブジェクトを作成したら、100レコードをコミットします。この場合、100以上の接続オブジェクトを作成し、適切に閉じてしまいます。パフォーマンスに影響はありますか?
まだ接続が必要な理由を知りません。実際、これらの接続は通常はプールされ、独立した要求の間に保持されます。 – chrylis