我正在尝试使用Java将数据从一个数据库同步到MySQL中的另一个数据库。
为了提高性能,我尝试使用 MySQL 批量插入语法:
insert into table xxx(...) values (row1...) (row2...).
问题是,我应该一次插入多少行,以免违反MySQL的max_allowed_packet
设置?
你不需要
自己做这些计算,因为MySQL Connector/J会处理细节,如果你
- 在连接 URL 中使用
rewriteBatchedStatements=true
- 使用
addBatch()
和executeBatch()
。
有关更多详细信息,请参阅我的另一个答案 这里.