我需要將幾百萬條記錄插入到mysql數據庫中。我一次批量插入100萬。請參閱下面的代碼。它似乎很慢。有什麼辦法可以優化它嗎?JDBC批量插入性能
try {
// Disable auto-commit
connection.setAutoCommit(false);
// Create a prepared statement
String sql = "INSERT INTO mytable (xxx), VALUES(?)";
PreparedStatement pstmt = connection.prepareStatement(sql);
Object[] vals=set.toArray();
for (int i=0; i<vals.length; i++) {
pstmt.setString(1, vals[i].toString());
pstmt.addBatch();
}
// Execute the batch
int [] updateCounts = pstmt.executeBatch();
System.out.append("inserted "+updateCounts.length);
你的代碼有點損壞(並且過早地被截斷) – Uri 2010-06-07 21:19:49
順便說一句,你正在使用哪個驅動程序?一般的JDBC或JDBC-Mysql連接器? – Uri 2010-06-07 21:20:15
我正在使用com.mysql.jdbc.Driver – user157195 2010-06-07 21:26:25