Từ nhận xét của bạn, bạn có sẵn sàng gọi điện bên trong vòng lặp của mình. Một lợi thế của các câu lệnh chuẩn bị (và các câu lệnh có thể gọi) là bạn có thể chuẩn bị nó một lần, sau đó hoán đổi các giá trị được truyền trong các tham số; có chi phí mỗi khi cuộc gọi được chuẩn bị, vì vậy nếu bạn có thể mang nó ra bên ngoài vòng lặp của mình, bạn có thể thấy rằng thời gian chạy giảm. Bạn có thể thấy rằng việc tắt AutoCommit cũng hữu ích, vì mỗi lần cam kết sẽ phải trả phí.
conn.setAutoCommit(false);
CallableStatement stmt = conn.prepareCall(sql);
while(true) {
stmt.setInt(1, value);
stmt.execute();
}
conn.commit();
conn.setAutoCommit(true);
(conn.setAutoCommit(true)
cam kết, nhưng tôi thấy rõ ràng là rõ ràng).