Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Insert into multiple values

Estas en el tema de Insert into multiple values en el foro de Mysql en Foros del Web. Buenas tardes, me gustaría saber que diferencia hay entre hacer (opción 1): insert into mi_tabla (campo1, campo2) values (valor1,valor2); insert into mi_tabla (campo1, campo2) values ...
  #1 (permalink)  
Antiguo 14/03/2014, 08:56
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 6 meses
Puntos: 0
Insert into multiple values

Buenas tardes,

me gustaría saber que diferencia hay entre hacer (opción 1):

insert into mi_tabla (campo1, campo2) values (valor1,valor2);
insert into mi_tabla (campo1, campo2) values (valor1,valor2);
insert into mi_tabla (campo1, campo2) values (valor1,valor2);

o hacer (opción 2):

insert into mi_tabla (campo1, campo2)
values (valor1,valor2),
(valor1,valor2),
(valor1,valor2);

También me gustaría saber si cuando se hace la segunda opción hay un límite de values.

Gracias

Saludos
  #2 (permalink)  
Antiguo 14/03/2014, 09:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insert into multiple values

El primer conjunto es una llamada simple a insertar, que impacta cada query por separado. Su performance deberderá del caso, daots, estructura de tabla, índices, etc.

La segunda es una única query, lo que se denomina "carga masiva", y sus limites y performance dependerán de la configuración del servidor para manejar el buffer de inserciones. Esto último implica que no hay un limite de bloques de valores, sino un límite en la capacidad del buffer para almacenar una query única.
Personalmente he llegado a poner 500, 1.000 y hasta 10.000 bloques de valores al mismo tiempo, sin que el server pestañee.

Lo que sí debes tener en cuenta es que la carga masiva afecta los resultados de los autoincrementales, porque si usas AI en la tabla, LAST_INSERT_ID devovlerá el primer valor creado, pero no los siguietnes...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/03/2014, 09:07
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Insert into multiple values

Hola,

gracias por la respuesta.


Como se configura el valor de buffer?

Estoy intentando hacer una carga masiva de más de 1.500 registros y solo me está insertando 1.300 registros


Saludos

Etiquetas: campo, insert, values
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:49.