У меня есть приложение JDBC, для преобразования операторов вставки в пакет, который я использовал rewriteBatchedStatements=true в строке подключения MySQL, но мне также нужно ограничить размер пакета до 100. Как я могу это сделать?
rewriteBatchedStatements=true
На стороне сервера max_allowed_packet ограничит количество INSERT, сбитых вместе rewriteBatchedStatements.Согласно 5.1.8 Системные переменные сервера :
max_allowed_packet
INSERT
rewriteBatchedStatements
Максимальный размер одного пакета, любой сгенерированной / промежуточной строки или любого параметра, отправленного функцией API C mysql_stmt_send_long_data ().Значение по умолчанию составляет 64 МБ.
Если вам требуется более детальный контроль, вы должны использовать JDBC, например, вызывая executeBatch() после каждого N строк.
executeBatch()
Вы можете сделать фиксацию текущей транзакции (или очистить сеанс) каждые 100 строк, которые вы пытаетесь вставить.