我有以下代碼在數據庫上執行許多插入。有沒有辦法提高性能?怎麼樣?如何提高許多數據庫插入的性能?
public void insertMany(List<Trajectory> trajectories) {
try {
String sql = "insert into trajectory (id, datetime, longitude, latitude) values (?, ?, ?, ?)";
PreparedStatement insert = MySqlDriver.getInstance().getConnection().prepareStatement(sql);
try {
for (Trajectory trajectory : trajectories) {
insert.setLong(1, trajectory.getId());
insert.setTimestamp(2, Timestamp.valueOf(trajectory.getDateTime()));
insert.setDouble(3, trajectory.getLongitude());
insert.setDouble(4, trajectory.getLatitude());
insert.addBatch();
}
insert.executeBatch();
} finally {
insert.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
感謝
你可以用你的代碼在一個事務中?在for()循環之外,嘗試找到類似於'BeginTransaction'的東西並在循環後添加'EndTransaction'。它可能有幫助。 –