sql >> Database >  >> RDS >> Mysql

mysql duurt te lang om rijen in te voegen

Ga er niet automatisch vanuit dat uw serverinstellingen verkeerd zijn. De standaardinstellingen zijn waarschijnlijk goed. Het invoegen van 10.000 rijen zou een fluitje van een cent moeten zijn, zelfs op een oude machine, maar het hangt af van hoe u uw invoegingen doet.

Hier beschrijf ik 3 methoden voor het invoegen van gegevens, variërend van langzaam tot snel:

Het volgende is extreem traag als je veel rijen moet invoegen:

INSERT INTO mytable (id,name) VALUES (1,'Wouter');
INSERT INTO mytable (id,name) VALUES (2,'Wouter');
INSERT INTO mytable (id,name) VALUES (3,'Wouter');

Dit is al een stuk sneller:

INSERT INTO mytable (id, name) VALUES
  (1, 'Wouter'),
  (2, 'Wouter'),
  (3, 'Wouter');

(verkeerde syntaxis bewerkt)

En dit is meestal de snelste:

Heb een CSV-bestand dat er als volgt uitziet:

1,Wouter
2,Wouter
3,Wouter

En voer dan iets uit als

LOAD DATA FROM INFILE 'c:/temp.csv' INTO TABLE mytable

Welke van de bovenstaande methoden gebruikt u?



  1. node-mysql waar gaat connection.end() naartoe

  2. Alleen een rij invoegen als deze er nog niet is

  3. MySQL - Vind rijen die overeenkomen met alle rijen van samengevoegde tabel

  4. Wijzig datumformaat (in DB of uitvoer) in dd/mm/jjjj - PHP MySQL