Saya akan berasumsi bahwa Anda menggunakan Connector/JDBC driver resmi MySQL yang disediakan.
Anda secara eksplisit memberi tahu JDBC (dan MySQL) untuk mengalirkan hasil baris demi baris dengan statement.setFetchSize(Integer.MIN_VALUE);
Dari MySQL Documents :
Nilai apa pun selain Integer.MIN_VALUE
untuk ukuran pengambilan diabaikan oleh MySQL, dan perilaku standar berlaku. Seluruh rangkaian hasil akan diambil oleh driver JDBC.
Atau jangan gunakan setFetchSize()
, jadi driver JDBC akan menggunakan nilai default (0
), atau atur nilainya ke 0
secara eksplisit. Menggunakan nilai 0
juga akan memastikan bahwa JDBC tidak menggunakan kursor MySQL, yang mungkin terjadi tergantung pada versi dan konfigurasi MySQL dan Connector/J Anda.