作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在编写用于将 45000 条记录插入表中的 Java 代码我正在使用以下代码:
//create Db Connection
List<String> sqlInsertQueries = getListOfInsertsQueries();
for (String currentsql : sqlInsertQueries)
{
stmt.addBatch(currentsql);
}
stmt.executeBatch();
conn.commit();
这段代码很慢,几乎需要 5 分钟才能完成。
有什么办法让它工作得更快吗?
最佳答案
您应该确保自动提交为假,并使用准备好的语句。准备好的语句可用于插入和更新。
connection con.setAutoCommit(false);
PreparedStatement prepStmt = con.prepareStatement("INSERT INTO table (val1,val2) VALUES (?,?)");
for all values:
prepStmt.setString(1,val1);
prepStmt.setString(2,val2);
prepStmt.addBatch();
stmt.executeBatch();
conn.commit();
关于java - 如何使用 executeBatch 提高性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8150165/
我是一名优秀的程序员,十分优秀!