sql >> Base de Datos >  >> RDS >> Mysql

mysql está tardando demasiado en insertar filas

No asuma automáticamente que la configuración de su servidor es incorrecta. La configuración predeterminada probablemente esté bien. Insertar 10000 filas debería ser pan comido, incluso en una máquina antigua, pero depende de cómo haga las inserciones.

Aquí describiré 3 métodos para insertar datos, que van de lento a rápido:

Lo siguiente es extremadamente lento si tiene muchas filas para insertar:

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

Esto ya es mucho más rápido:

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

(Sintaxis incorrecta editada)

Y este suele ser el más rápido:

Tiene un archivo CSV que se ve así:

1,Wouter
2,Wouter
3,Wouter

Y luego ejecuta algo como

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

¿Cuál de los métodos anteriores usas?