Ограничить размер пакета MySQL в jConnector - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть приложение JDBC, для преобразования операторов вставки в пакет, который я использовал rewriteBatchedStatements=true в строке подключения MySQL, но мне также нужно ограничить размер пакета до 100. Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

На стороне сервера max_allowed_packet ограничит количество INSERT, сбитых вместе rewriteBatchedStatements.Согласно 5.1.8 Системные переменные сервера :

Максимальный размер одного пакета, любой сгенерированной / промежуточной строки или любого параметра, отправленного функцией API C mysql_stmt_send_long_data ().Значение по умолчанию составляет 64 МБ.

Если вам требуется более детальный контроль, вы должны использовать JDBC, например, вызывая executeBatch() после каждого N строк.

0 голосов
/ 14 ноября 2018

Вы можете сделать фиксацию текущей транзакции (или очистить сеанс) каждые 100 строк, которые вы пытаетесь вставить.

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