Duplicar posibles:
Multiple INSERT statements vs. single INSERT with multiple VALUESqué es la inserción de una sola fila x veces más rápido que la inserción x filas a la vez
Im haciendo un poco de análisis de rendimiento de las operaciones de procesamiento por lotes para una entrada de blog y me he dado cuenta de que cuando se utiliza una instrucción de inserción por lotes, se realiza mucho más lentamente que las declaraciones de SQL individuales equivalentes.
insertando 1000 filas de la siguiente toma aproximadamente 3s
INSERT TestEntities (TestDate, TestInt, TestString) VALUES
('2011-1-1', 11, 'dsxcvzdfdfdfsa'),
('2011-1-1', 11, 'dsxcvzdfdfdfsa'),
('2011-1-1', 11, 'dsxcvzdfdfdfsa')
insertando 1000 filas como a continuación se lleva 130 ms
INSERT TestEntities (TestDate, TestInt, TestString) VALUES ('2011-1-1', 11, 'dsxcvzdfdfdfsa')
INSERT TestEntities (TestDate, TestInt, TestString) VALUES ('2011-1-1', 11, 'dsxcvzdfdfdfsa')
INSERT TestEntities (TestDate, TestInt, TestString) VALUES ('2011-1-1', 11, 'dsxcvzdfdfdfsa')
Esto sólo parece ocurrir en la primera vez que se utiliza un inserto de lote en la tabla pero es reproducible
También tenga en cuenta los datos im inserción es al azar (pero el mismo para ambas consultas)
EDIT:
heres mi caso repro con la im datos aleatorios simulado utilizando para este caso: https://gist.github.com/2489133
@MikaelEriksson sí se trata del mismo tema enferma cerca de éste –
@blam echar un vistazo a http: // stackoverflow.com/q/8635818/1070291 explica el problema con mucha más profundidad, también tiene planes de consulta –