Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql prend trop de temps pour insérer des lignes

Ne présumez pas automatiquement que les paramètres de votre serveur sont erronés. Les paramètres par défaut sont probablement bons. L'insertion de 10 000 lignes devrait être un jeu d'enfant, même sur une vieille machine, mais cela dépend de la façon dont vous faites vos insertions.

Ici, je vais décrire 3 méthodes d'insertion de données, allant de lente à rapide :

Ce qui suit est extrêmement lent si vous avez de nombreuses lignes à insérer :

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

C'est déjà beaucoup plus rapide :

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

(Mauvaise syntaxe éditée)

Et c'est généralement le plus rapide :

Avoir un fichier CSV qui ressemble à ceci :

1,Wouter
2,Wouter
3,Wouter

Et puis exécutez quelque chose comme

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

Laquelle des méthodes ci-dessus utilisez-vous ?