Хипотетично, ако трябва да изведете всички 100 000 реда в един отговор, трябва да зададете PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
до false
, изпълнете заявката и повторете набора от резултати един ред по ред, като използвате fetch . За по-подробно, php буферира целия набор от резултати, независимо дали извиквате fetchAll() if PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
е зададено на true.
Предимството е, че драстично намалявате максималната консумация на памет на скрипта и можете да започнете поточно предаване по-рано, въпреки че общото време за завършване може да отнеме или не може да отнеме повече време.
Пренебрегвам други неща, които трябва да имате предвид при такива екстремни обстоятелства, като буфериране на изход и т.н....