Вот сделка:
- Я создаю соединение
conn
, используя DriverManager
- Я устанавливаю
conn.autoCommit(false);
- Тогда у меня есть
PreparedStatement pStat = conn.prepareStatement(insert_string_with_parameter);
- Я устанавливаю несколько параметров с помощью pStat.set ... затем я добавляю пакет с
pStat.addBatch();
- Каждые 10000 строк (я звоню
addBatch()
10000 раз), я звоню pStat.executeBatch();
- Не уверен, если нужно, но я звоню также
pStat.clearBatch()
сразу после
Даже если все вышеперечисленное звучит хорошо для меня, это МЕДЛЕННО !!! .
У меня в среднем всего 35 записей (всего 8 столбцов, только технический первичный ключ с автоинкрементом и некоторые ненулевые ограничения) в секунду.Я рассчитываю, что мне понадобится неделя, чтобы вставить все мои 20-миллиметровые строки ...
Я что-то не так делаю?
Сколько строк я должен попытаться добавить в каждом цикле обработки пакета?10000 слишком много?