MySql – szybki import CSV do bazy

Dodany: 8 kwietnia, 2013 | Kategoria: PHP

Potrzebowałem zaimportować plik CSV do bazy danych. Niby proste zadanie, odpaliłem PhpMyAdmina, mieliło mi plik kilka minut, po czym wysypało się na timeoucie po 5 minutach i wstawieniu 3 tys. rekordów – na 12639 dostępnych. To stanowczo za długo. Poszperałem więc po sieci, jak zwykle pomocny okazał się stackoverflow i dzięki temu dostałem takie oto zapytanie, do odpalenia w mysql z terminala (lub cmd):

LOAD DATA LOCAL INFILE "plik.csv"
INTO TABLE twoja_tabela
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';

Załadowało się w ułamku sekundy.

Terminal to jednak terminal :)

1 Komentarz »