java中的PreparedStatement.addBatch有啥限制吗?
Posted
技术标签:
【中文标题】java中的PreparedStatement.addBatch有啥限制吗?【英文标题】:PreparedStatement.addBatch in java has any restrictions?java中的PreparedStatement.addBatch有什么限制吗? 【发布时间】:2011-05-22 11:34:32 【问题描述】:我正在尝试优化将大量结果插入远程 mysql 数据库的过程。我为此使用了简单的 jdbc。
目前我正在用 PreparedStatement 替换退出语句,并用 addBatch/executeBatch 方法执行方法。有谁知道批处理执行的限制是什么?在执行之前我可以添加多少批次以确保流程不会失败?查询不是特殊查询,它们没有 blob 或其他大字段。
【问题讨论】:
【参考方案1】:@BalusC 一针见血。如果您使用的是 MySQL,请使用最新的驱动程序将 rewriteBatchedStatements=true 添加到您的连接字符串中,以使 statement.addBatch() 实际创建批量插入。
关于 MySQL JDBC 性能的精彩介绍: http://assets.en.oreilly.com/1/event/21/Connector_J%20Performance%20Gems%20Presentation.pdf
【讨论】:
以上是关于java中的PreparedStatement.addBatch有啥限制吗?的主要内容,如果未能解决你的问题,请参考以下文章