Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Apa dan kapan saya harus menentukan setFetchSize()?

Anda harus membaca halaman ini dari dokumen resmi di kumpulan hasil . Dikatakan

Secara default, ResultSets sepenuhnya diambil dan disimpan dalam memori. Dalam kebanyakan kasus ini adalah cara yang paling efisien untuk beroperasi, dan karena desain protokol jaringan MySQL lebih mudah untuk diimplementasikan. Jika Anda bekerja dengan ResultSets yang memiliki banyak baris atau nilai besar, dan tidak dapat mengalokasikan ruang heap di JVM Anda untuk memori yang diperlukan, Anda dapat memberi tahu driver untuk mengalirkan hasilnya kembali satu baris dalam satu waktu.

stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
                            java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);

Kombinasi dari kumpulan hasil hanya-baca, hanya-baca, dengan ukuran pengambilan Integer.MIN_VALUE berfungsi sebagai sinyal kepada driver untuk mengalirkan kumpulan hasil baris demi baris. Setelah ini, set hasil apa pun yang dibuat dengan pernyataan akan diambil baris demi baris.

Akibatnya, hanya menyetel fetchSize tidak berpengaruh pada implementasi connector-j.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pilih baris TOP N dari tabel

  2. Bagaimana menemukan baris yang terkunci di Oracle

  3. Bagaimana cara mengatur wilayah zona waktu untuk Koneksi JDBC dan menghindari wilayah zona waktu SqlException tidak ditemukan?

  4. Perlu menemukan waktu pemrosesan rata-rata antara semua catatan cap waktu di Oracle SQL

  5. Cara memberikan akses ke tampilan v$ (v$session ,v$instance)