Я заметил следующее поведение.
У меня есть файл размером около 3 МБ, содержащий несколько тысяч строк.
В строках я разделяю и создаю подготовленную выписку (около 250 000 выписок).
Что я делаю:
preparedStatement
addBatch
do for every 200 rows {
executeBatch
clearBatch().
}
в конце
commit()
Использование памяти увеличится примерно до 70 МБ без ошибки нехватки памяти. Возможно ли снизить использование памяти? и иметь транзакционное поведение (если один терпит неудачу, все терпит неудачу.).
Мне удалось уменьшить объем памяти, выполнив коммит с executeBatch
и clearBatch
... но это приведет к частичной вставке всего набора.