Ver Mensaje Individual
  #6 (permalink)  
Antiguo 16/04/2009, 13:17
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: Proceso automático para insertar 50000 registros en una base de datos MySQ

Porque estás insertando uno a uno los registros, y con cada INSERT se actualiza el índice... Es una tarea muy lenta.
Hay dos formas básicas de acelerar el proceso, pero ambas se tienen que implementar desde código de aplicación:
1. Usando LOAD DATA INFILE, que requiere que los datos se vuelquen primero a un archivo plano, separado por comas. Colo el LOAD DATA no opera dentro de los store procedures, no puedes crear uno para este treabajo.
2. Usando inserciones múltiples. Es el caso de crear una inmensa cadena en la aplicación con muchos VALUES a insertar en una sola ejecución:
Código sql:
Ver original
  1. INSERT INTO Tabla1(campos)
  2. VALUES(valores), (valores), (valores), (valores), (valores),
  3.     (valores), (valores), (valores);
Yo personalmente, he manejado inserciones múltiples de 50 registros, de 100 y de hasta un millar, sin mayores problema. Depende del tamaño del buffer.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)