Em vez de tentar construir a árvore de objetos, você pode tentar selecionar diretamente o resultado em um arquivo:http://dev.mysql.com/doc/refman/5.7/en/select.html
Algo como
SELECT * INTO OUTFILE "c:/temp/mycsv.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM theTable;
Isso deve deixar o trabalho para o mysql e ignorar quaisquer limitações de memória do php.
Como venca observou:Neste caso, o usuário sob o qual você está executando o serviço mysql precisa de permissões de gravação no diretório em questão.