У меня есть Java-программа, которая в некоторых случаях должна обновлять большое количество записей в базе данных (например, 100 000).
Это происходит путем создания PreparedStatement
и использования техники addBatch
.
Вот фрагмент:
connection.setAutoCommit(false);
PreparedStatement ps = connection.prepareStatement(
"UPDATE myTable SET colName=? where id=?");
for (...) { // this loop can be 100000 long
colValue = ...
id = ...
ps.setString(1,colValue);
ps.setString(2,id);
ps.addBatch();
}
ps.executeBatch();
connection.commit();
это лучший (самый быстрый) способ обновить 100000 записей в JDBC?
Кто-нибудь может предложить лучший способ?