Z twojego komentarza masz przygotowanie połączenia w swojej pętli. Zaletą instrukcji przygotowanych (i instrukcji wywoływanych) jest to, że można je przygotować raz, a następnie zamienić wartości przekazane w parametrach; za każdym razem, gdy połączenie jest przygotowywane, występuje obciążenie, więc jeśli możesz przenieść to poza pętlę, może się okazać, że czas działania się skróci. Może się okazać, że wyłączenie funkcji AutoCommit również pomaga, ponieważ każde zatwierdzenie wiąże się z obciążeniem.
conn.setAutoCommit(false);
CallableStatement stmt = conn.prepareCall(sql);
while(true) {
stmt.setInt(1, value);
stmt.execute();
}
conn.commit();
conn.setAutoCommit(true);
(conn.setAutoCommit(true)
robi zobowiązania, ale uważam, że jest to jaśniejsze, aby być jednoznaczne).