Insertando varias filas en MySQL
¿La consulta de la base de datos es más rápida si inserto varias filas a la vez?
como
INSERT....
UNION
INSERT....
UNION
(Necesito insertar como 2-3000 filas)
INSERT
Las declaraciones que usanVALUES
sintaxis pueden insertar varias filas. Para hacer esto, incluya varias listas de valores de columna, cada una entre paréntesis y separada por comas.
Ejemplo:
INSERT INTO tbl_name
(a,b,c)
VALUES
(1,2,3),
(4,5,6),
(7,8,9);
Fuente
Si tiene sus datos en un archivo de texto, puede usar LOAD DATA INFILE .
Al cargar una tabla desde un archivo de texto, utilice LOAD DATA INFILE. Esto suele ser 20 veces más rápido que usar declaraciones INSERT.
Optimización de declaraciones INSERT
Puede encontrar más consejos sobre cómo acelerar sus declaraciones insertadas en el enlace de arriba.
Simplemente use una SELECT
declaración para obtener los valores de muchas líneas de las columnas elegidas y coloque estos valores en las columnas de otra tabla de una sola vez. Como ejemplo, las columnas "tamaño" y "precio" de las dos tablas "test_b" y "test_c" se completan con las columnas "tamaño" y "precio" de la tabla "test_a".
BEGIN;
INSERT INTO test_b (size, price)
SELECT size, price
FROM test_a;
INSERT INTO test_c (size, price)
SELECT size, price
FROM test_a;
COMMIT;
El código está incrustado BEGIN
y COMMIT
se debe ejecutar solo cuando ambas declaraciones hayan funcionado; de lo contrario, se retirará toda la ejecución hasta ese punto.