Ok. Polecam użycie LOAD DATA INFILE wyraźnie. Dla tych, którzy go nie używali, potraktujcie to na razie tylko jako polecenie select, dopóki go nie zobaczycie.
Oto fajny artykuł na temat wydajności i strategii zatytułowany Testowanie najszybszego sposobu importowania tabeli do MySQL . Nie pozwól, aby wersja mysql tytułu lub treść artykułu Cię odstraszyła. Przeskakiwanie na sam dół i wyciąganie wniosków:
Są tam również drobne punkty, głównie w komentarzach rówieśników na temat indeksów wtórnych (których nie masz). Ważnym punktem dla innych jest dodanie ich po fakcie.
Mam nadzieję, że te linki będą przydatne. A twoje dane przychodzą za ... w 10 minut (w innej tabeli testowej z LOAD DATA INFILE
).
Komentarze ogólne
Najwolniej można to zrobić w języku programowania za pomocą pętli while, wiersz po wierszu. Szybszy proces jest z pewnością wsadowym, w którym jedna instrukcja INSERT przekazuje, powiedzmy, 200 do 1 tys. wierszy na raz. Znacznie wyższa wydajność to LOAD DATA INFILE. Najszybsze są surowe pliki (to co robię, ale poza zakresem omawiania tutaj).