Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wyeksportować miliony wierszy z MySQL do CSV za pomocą PHP bez wyczerpywania pamięci?

Zamiast próbować budować drzewo obiektów, możesz bezpośrednio spróbować wybrać wynik do pliku:http://dev.mysql.com/doc/refman/5.7/en/select.html

Coś jak

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

Powinno to pozostawić zadanie w mysql i ominąć wszelkie ograniczenia pamięci php.

Jak zauważył venca:w tym przypadku użytkownik, pod którym działa usługa mysql, potrzebuje uprawnień do zapisu w danym katalogu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można pobrać klucza podstawowego identyfikatora niestandardowego po metodzie Laravel save()

  2. PHP MySql (1045) Odmowa dostępu dla użytkownika

  3. Jeśli istnieje sposób, abym mógł połączyć tabelę MS Sql z tabelą MySql w jednym zapytaniu za pomocą MySql?

  4. Połącz dwie tabele, aby uzyskać całe rekordy

  5. Połączyć wiersz z wierszem MAX w innej tabeli?