java - 限制 jConnector 中的 MySQL 批处理大小

标签 java mysql database jdbc

我有一个 JDBC 应用程序,要将插入语句转换为批处理,我在 MySQL 连接字符串中使用了 rewriteBatchedStatements=true,但我还需要将批处理大小限制为 100。我该怎么做?

最佳答案

在服务器端,max_allowed_pa​​cket 将限制由 rewriteBatchedStatements 组合在一起的 INSERT 的数量。根据 5.1.8 Server System Variables :

The maximum size of one packet or any generated/intermediate string, or any parameter sent by the mysql_stmt_send_long_data() C API function. The default is 64MB.

如果您需要更细粒度的控制,您必须使用 JDBC,例如通过在每 N 行之后调用 executeBatch()

关于java - 限制 jConnector 中的 MySQL 批处理大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53300333/

相关文章:

JAVA - 大量调用后构造函数中的数组复制意外变慢

java - 如何在两个 Eclipse 插件之间共享通用功能?

java - 如何使用iframe标签获取本地文件

php - 使用自定义列字段而不是 EAV

mysql - 统计某个类别内的所有活跃产品;左连接未按预期工作

java - 如何将数据库生成的随机唯一值分配给Hibernate POJO的字段

java - Spring MVC - 竞争条件?

java - linux连接mysql后找不到数据库

MySQL - 按行列表中的特定值分组

mysql - CONVERT() 在 MySQL 5.6 中导致语法错误