Jak wstawić na przykład 100 000 wierszy do tabeli MySQL za pomocą pojedynczego zapytania?Jak wstawić dużą liczbę wierszy w MySQL?
Odpowiedz
Nie możesz, o ile wiem. Będziesz potrzebował pętli.
Możesz zrobić wsadowy wsad z instrukcją INSERT, ale zapytanie nie może być większe niż (nieco mniej niż) max_allowed_packet.
Dla 100 tys. Wierszy, w zależności od wielkości wierszy, prawdopodobnie przekroczycie to.
Jednym ze sposobów byłoby podzielenie go na kilka części. To i tak chyba dobry pomysł.
Alternatywnie można użyć LOAD DATA INFILE (lub LOAD DATA LOILAL DATA LOILAL), aby załadować z pliku rozdzielanego tabulatorami (lub innymi ograniczeniami). Zobacz dokumentację, by poznać szczegóły.
DANE OBCIĄŻENIA nie podlegają limitowi max_allowed_packet.
insert into $table values (1, a, b), (2, c, d), (3, e, f);
Spowoduje to wstawienie 3 rzędów. Kontynuuj w razie potrzeby, aby osiągnąć 100 000. Robię bloki ~ 1000 w ten sposób podczas pracy ETL.
Jeśli twoje dane są statycznie zapisane w pliku, przekształcenie go i użycie będzie najlepszą metodą ładowania danych, infolinia, ale zgaduję, że pytasz o to, ponieważ robisz coś podobnego.
Należy również zauważyć, co ktoś inny powiedział o rozmiarze max_allowed_packet, ograniczając długość zapytania.
Spróbuj użyć LoadFile() lub Konwertuj Yor Data na plik XML, a następnie użyj funkcji Load and Extract(), aby załadować dane do bazy danych MySQL.
To jedno zapytanie i najszybszym rozwiązaniem,
Nawet ja robię to samo, miałem 1,5 GB plików jeśli wokół miliony wierszy. Użyłem Obie opcji w moim przypadku.
- 1. MySql uzyskać liczbę wierszy
- 2. Jak zoptymalizować MySQL, aby wstawić miliony wierszy?
- 3. MySQL - zlicza całkowitą liczbę wierszy w php
- 4. Jak uzyskać liczbę powiązanych wierszy w lewym złączeniu w MySQL?
- 5. Zwróć liczbę wierszy pogrupowanych według tygodnia MySQL
- 6. Jak wygenerować "dużą" liczbę losową w Pythonie?
- 7. mysql wybierz liczbę wierszy między przedziałem czasowym
- 8. Jak policzyć liczbę usuniętych wierszy w zapytaniu MYSQL?
- 9. Jak ograniczyć liczbę wierszy w PostgreSQL SELECT
- 10. Wstawianie wielu wierszy w mysql
- 11. Batch usuń dużą liczbę plików
- 12. MySQL - ile wierszy mogę wstawić w jednej instrukcji INSERT?
- 13. Jak przypisać bardzo dużą liczbę do BigInteger?
- 14. Jak uzyskać dużą liczbę miesięcy DateTime?
- 15. Haskell eksportuje dużą liczbę funkcji
- 16. Jak mogę wstawić 100000 wierszy do MSSQL?
- 17. Jak zhakować MySQL GROUP_CONCAT, aby pobrać ograniczoną liczbę wierszy?
- 18. wstawić wiele wierszy w SQLite
- 19. Znaleźć liczbę wierszy w zwracanym wyniku mysql (nodejs)
- 20. jak uzyskać całkowitą liczbę wierszy z mysqli
- 21. 30 milionów wierszy w MySQL
- 22. Sprawdź liczbę wierszy w CodeIgniter
- 23. Jak zwrócić dużą liczbę wierszy z mongodb przy użyciu serwera http node.js?
- 24. Jak dodać kolumnę tożsamości do istniejącej tabeli bazy danych, która ma dużą liczbę wierszy
- 25. Jak kontrolować liczbę wierszy w JasperReports
- 26. Przechowuj dużą liczbę zdjęć na wielu serwerach.
- 27. Błąd podczas przydzielania dużą liczbę do BigInteger
- 28. Jak OGRANICZYĆ liczbę wierszy w opcji USUŃ w programie DB2?
- 29. Jak obsługiwać dużą liczbę pinezek w Bing Maps
- 30. MySQL podaje zmienną liczbę wierszy, gdy wysyłam zapytanie do schematu?
Oczywistym pytaniem jest "z czego?". Jeśli odpowiedź pochodzi z pamięci, zacznij bardzo ostrożnie pisać plik SQL. W przeciwnym razie użyj odpowiedniego języka i środowiska. –