java - java中的PreparedStatement.addBatch有什么限制吗?

标签 java sql mysql jdbc

我正在尝试优化将大量结果插入远程 mySQL 数据库的过程。我为此使用简单的 jdbc。

目前,我正在用 PreparedStatement 替换现有语句,并用 addBatch/executeBatch 方法替换执行方法。有谁知道批量执行的限制是什么?在执行之前我可以添加多少批处理以确保该过程不会失败?这些查询不是特殊查询,它们没有 blob 或其他大字段。

最佳答案

@BalusC 一针见血。如果您使用的是 MySQL,请使用最新的驱动程序将 rewriteBatchedStatements=true 添加到您的连接字符串中,以使 statement.addBatch() 实际上创建批量插入。

关于 MySQL JDBC 性能的精彩介绍: http://assets.en.oreilly.com/1/event/21/Connector_J%20Performance%20Gems%20Presentation.pdf

关于java - java中的PreparedStatement.addBatch有什么限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4392091/

相关文章:

javascript - 使用 Sequelize.query 时出错,查询不区分大小写吗?

PHP mysql 查询临时表不起作用

java - jOOQ代码生成器

mysql + ruby​​ = 噩梦

java - Java 8 与 Java 9 之间的内存分配是否存在差异?

java - 使用parallelStream foreach创建HashMap,但有时value为空

sql - PostgreSQL - 选择不存在特定列的表

java - Spring Boot测试java.lang.IllegalStateException : Failed to load ApplicationContext and missing bean

java - 创建 jar 文件后数据库连接失败

mysql - 查询指定时间间隔内的数据