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

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

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

@BalusC击中了头上的钉子。 如果您正在使用MySQL,请使用最新的驱动程序add rewriteBatchedStatements = true到您的连接字符串,以使statement.addBatch()实际创建批量插入。

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