我正在使用Java程序从文件中读取数据并写入表中。该表有4列索引,其中有大约1000万条记录。现在我的程序非常慢地插入记录。在花费5分钟处理文件之前。但现在需要超过30分钟。
请指导我。我在JDBC中使用批量更新。
提前致谢..
答案 0 :(得分:1)
您应该在batch insert
内执行transaction
。在事务内部执行时,您可以确保执行所有更新,或者不更新任何更新。执行此操作,您可以停止数据库或JDBC驱动程序,以便在批处理中的每个插入步骤周围强加事务边界。
做这样的事情
try{
connection.setAutoCommit(false);
// add to batch and execute batch
connection.commit();
} catch (SQLException e) {
e.printStackTrace();
}
finally{
//closing statements
}