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

problema insert 10.000 registros

Estas en el tema de problema insert 10.000 registros en el foro de Mysql en Foros del Web. Hola! no sé si es una barbaridad lo que intento hacer, pero necesito hacer en php un insert en una tabla de 10.000 registros aproximadamente ...
  #1 (permalink)  
Antiguo 10/05/2009, 12:33
 
Fecha de Ingreso: febrero-2009
Mensajes: 47
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta problema insert 10.000 registros

Hola! no sé si es una barbaridad lo que intento hacer, pero necesito hacer en php un insert en una tabla de 10.000 registros aproximadamente y no me los carga. ¿alguien sabe porque y como podría hacerlo para que un usuario que no sepa nada de bases de datos pueda darle a un link y se carguen ??

gracias
  #2 (permalink)  
Antiguo 10/05/2009, 15:59
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: problema insert 10.000 registros

Deberias dar un poco más de detalles acerca de cómo lo estás haciendo al INSERT. Pero anticipándome un poco a tu respuesta, imagino que lo puedes estar haciendo de dos formas básicas: a) Creando y ejecutando un INSERT por vuelta en un ciclo que lea la tabla origen, y B) Intentando insertar un array de datos, caso en el que la cosa fallaría completamente porque MySQL no maneja arrays de datos.
La solución pasa por implementar un ciclo que genere un INSERT de múltiples valores, es decir que tenga esta estructura: ç
Código sql:
Ver original
  1. INSERT INTO tabla1(campo1, campo2, campo3, ....)
  2. VALUES(valor1, valor2, valor3...),
  3.     (valor1, valor2, valor3...),
  4.     (valor1, valor2, valor3...),... ;
Esto significa encadenar, separados por comas, tantos conjuntos de datos a insertar como registros tenga el origen de datos. La clave es que el conjunto a insertar sea relativamente pequeño (entre 50 y 100 registros por vuelta), ya que sino puedes exceder el tamaño del paquete de datos que se transmite por internet, y con ello la inserción via web se ralentiza porque las transmisiones se fragmentan y en el server se produce una pérdida de performance.
Si la inserción es en una intranet o en forma local, el paquete puede ser mayor.
En cualquier caso, es algo que debe ser resuelto en una función de PHP, para tu caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 14:16.