У меня есть следующий код, который выполняет много вложений в базе данных. Есть ли способ повысить производительность? Как?Как я могу улучшить производительность многих входов базы данных?
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». Это может помочь. –