Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/12/2012, 04:34
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: insertar miles de registros en menos tiempo

Haz un INSERT de 500 registros en una sola inserción. Yo he llegado a hacer algunos de más, pero no te lo aconsejo.

Posiblemente deberás aumentar el size del buffer de datos (creo que es la variable key_buffer_size, pero habría que mirar bien el manual).

Otra posibilidad es usar LOAD DATA sobre un archivo plano (de charset utf8), que puede mejorar bastante el rendimiento del INSERT.

Si la fuente de datos es una consulta, incluso, es mejor usar INSERT... SELECT sobre la subconsulta que origina los datos.

Otra cosa a considerar es que tantos índices que mencionas conspiran contra la performance del INSERT. ¿Estás seguro de necesitar esos 9 indices?

En definitva, hay varias formas de enfrentar el problema. Para ubicar mejor el problema sería bueno que nos digas cuál es el origen de los datos a insertar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)