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...