PreparedStatement.addBatch в Java имеет какие-либо ограничения? - PullRequest
6 голосов
/ 08 декабря 2010

Я пытаюсь оптимизировать процесс вставки большого количества результатов в удаленную базу данных MySQL.Я использую простой JDBC для этого.

В настоящее время я заменяю операторы exiting на PreparedStatement и выполняю методы на методы addBatch / executeBatch.Кто-нибудь знает, каковы пределы выполнения партии?Сколько пакетов я могу добавить перед выполнением, чтобы убедиться, что процесс не завершился неудачей?Запросы не являются специальными запросами, у них нет больших двоичных объектов или других больших полей.

1 Ответ

5 голосов
/ 10 декабря 2010

@ BalusC ударил гвоздь по голове. Если вы используете MySQL, используйте последнюю версию драйвера, добавьте rewriteBatchedStatements = true в строку подключения, чтобы оператор Statement.addBatch () действительно создавал пакетные вставки.

Хорошая презентация о производительности MySQL JDBC: http://assets.en.oreilly.com/1/event/21/Connector_J%20Performance%20Gems%20Presentation.pdf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...