Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie exportiert man Millionen von Zeilen von MySQL nach CSV über PHP, ohne den Speicher zu erschöpfen?

Anstatt zu versuchen, den Objektbaum zu erstellen, könnten Sie direkt versuchen, das Ergebnis in einer Datei auszuwählen:http://dev.mysql.com/doc/refman/5.7/en/select.html

Etwas wie

SELECT * INTO OUTFILE "c:/temp/mycsv.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM theTable;

Dies sollte die Aufgabe mysql überlassen und alle PHP-Speicherbeschränkungen umgehen.

Wie venca feststellte:In diesem Fall benötigt der Benutzer, unter dem Sie den mysql-Dienst ausführen, Schreibrechte für das betreffende Verzeichnis.