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

Importowanie dużych tabel MySQL

Część problemu z tak ogromnym eksportem jest (przypuszczalnie) z powodu zwolnień w nim. Prawdopodobnie istnieją tysiące poleceń „INSERT”, które po załadowaniu wszystkich na raz zajmują ogromny kawałek pamięci.

Jeśli masz dokładnie te same dane, co plik CSV, chciałbym utworzyć mały skrypt PHP, który będzie przechodził linia po linii przez plik CSV i dynamicznie tworzy zapytanie INSERT sql, a następnie je wykonuje. Powinno to sprawić, że wykorzystanie pamięci będzie bardzo małe, ponieważ możesz zamieniać wartości zmiennych tymczasowych (odpowiadających polom) po każdym wstawieniu.

Połączyłem się z funkcją, której chciałbym użyć. Nazywa się fgetcsv. Ten link zawiera również przykładowe skrypty, które, jak sądzę, mogą Ci się przydać, a które zostały utworzone przez innych użytkowników.

Powodzenia!

Funkcja fgetcsv PHP używana do odczytu linia po linii



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa funkcja CHARACTER_LENGTH() w MySQL

  2. Sprawdź język napisów na podstawie glifów w PHP

  3. Czy jest jakiś trik, który pozwala MySQL'owi ignorować końcowy przecinek w klauzuli SET instrukcji UPDATE?

  4. użyj zmiennej php w nazwie mysql utwórz tabelę

  5. MySQL Zmiana sortowania wszystkich tabel