次の動作に気付きました。
数千行を含む約 3MB のファイルがあります。行で、準備済みステートメントを分割して作成します (約 250 000 ステートメント)。
私がすることは:
preparedStatement
addBatch
do for every 200 rows {
executeBatch
clearBatch().
}
最後に
commit()
メモリ使用量は、メモリ不足エラーなしで約 70 MB まで増加します。メモリ使用量を下げることは可能ですか? トランザクションの動作があります (1 つが失敗すると、すべてが失敗します)。executeBatch
and ...を使用してコミットすることでメモリを減らすことができましたclearBatch
が、これにより、セット全体の部分的な挿入が発生します。