sql >> Database >  >> RDS >> Mysql

Hoe exporteer je miljoenen rijen van MySQL naar CSV via PHP zonder het geheugen uit te putten?

In plaats van te proberen de object-tree op te bouwen, kunt u direct proberen het resultaat in een bestand te selecteren:http://dev.mysql.com/doc/refman/5.7/en/select.html

Iets als

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

Dit zou de taak aan mysql moeten overlaten en eventuele beperkingen van het php-geheugen moeten omzeilen.

Zoals Venca opmerkte:in dit geval heeft de gebruiker waaronder u de mysql-service uitvoert, schrijfrechten nodig voor de betreffende map.




  1. Een datumbereik genereren in SQL Server

  2. Verbinding maken met Docker-container vanaf host

  3. Android-kamerdatabase exporteert niet alle gegevens

  4. MYSQL dubbele sleutel werkt niet