sql >> Databasteknik >  >> RDS >> Mysql

Hur infogar jag ett stort antal rader i MySQL?

insert into $table values (1, a, b), (2, c, d), (3, e, f);

Det kommer att utföra en infogning av 3 rader. Fortsätt efter behov för att nå 100 000. Jag gör block på ~1 000 på det sättet när jag gör ETL-arbete.

Om din data är statiskt i en fil, transformera den och använda load data infile kommer att vara den bästa metoden, men jag antar att du frågar detta eftersom du gör något liknande.

Notera också vad någon annan sa om storleken max_allowed_packet som begränsar längden på din fråga.



  1. TEMPFILE Offline Fysisk standby

  2. GROUP BY med MAX(DATE)

  3. Att subtrahera tidsstämpel i oracle returnerar konstiga data

  4. Finns det något sätt att få PostgreSQL att inte kollapsa skiljetecken och mellanslag när man sorterar med ett språk?