Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

pertimbangan kinerja PDO fetchall()?

Secara hipotesis, jika Anda perlu menampilkan 100.000 baris dalam satu respons, Anda harus menyetel PDO::MYSQL_ATTR_USE_BUFFERED_QUERY menjadi false , jalankan kueri, dan ulangi rangkaian hasil satu per satu menggunakan fetch . Untuk menguraikan, php menyangga seluruh hasil, terlepas dari apakah Anda memanggil fetchAll() atau tidak jika PDO::MYSQL_ATTR_USE_BUFFERED_QUERY disetel ke true.

Manfaatnya adalah Anda secara drastis mengurangi konsumsi memori maksimum skrip, dan Anda dapat memulai output streaming lebih cepat, meskipun total waktu penyelesaian mungkin atau mungkin tidak lebih lama.

Saya mengabaikan hal-hal lain yang harus Anda pertimbangkan dalam keadaan ekstrem seperti itu, seperti buffering keluaran dll...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendefinisikan koneksi mysqli dalam satu file php dan kemudian menggunakannya pada file lain?

  2. Apakah Pemicu Berdasarkan Pertanyaan Atom?

  3. Data terlalu panjang untuk kolom di Django di MySQL

  4. Pilih semua catatan yang tidak memenuhi kondisi tertentu dalam tabel gabungan

  5. Menginisialisasi database MySQL yang diterapkan di AWS EKS