Вместо да се опитвате да изградите дървото на обектите, можете директно да опитате да изберете резултата във файл:http://dev.mysql.com/doc/refman/5.7/en/select.html
Нещо като
SELECT * INTO OUTFILE "c:/temp/mycsv.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM theTable;
Това трябва да остави работата на mysql и да заобиколи всички ограничения на php паметта.
Както отбеляза Venca:В този случай потребителят, под който изпълнявате услугата mysql, се нуждае от разрешения за запис във въпросната директория.