En lugar de intentar construir el árbol de objetos, puede intentar seleccionar directamente el resultado en un archivo:http://dev.mysql.com/doc/refman/5.7/es/select.html
Algo como
SELECT * INTO OUTFILE "c:/temp/mycsv.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM theTable;
Esto debería dejar el trabajo a mysql y evitar cualquier limitación de memoria de php.
Como señaló venca:En este caso, el usuario bajo el cual está ejecutando el servicio mysql necesita permisos de escritura en el directorio en cuestión.