Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/12/2011, 00:00
iovan
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Actualiza miles de registros al mismo tiempo

se ejecuta o no? Me refiero si te funciona o no lo hace y cual es el error.

Recientemente hice un programa que hacia una consulta en un website, recogia los datos con curl y los almacenaba en la database. Puse los limits a 144 horas, ( calculé que el script tardaría poco menos que eso en acabar y así fue.)

Si es verdad que tardó casí una semana pero funcionó y es lo que importa.

En mi caso son casi 20 millones de registros, en el tuyo solo miles y además no estás enviando una consulta a una página web dinámica, esperando que ésta devuelva una respuesta y extrayendo los datos del código fuente. Por lo que en tu caso imagino que tardará minutos en finalizar.

Si te gustaría trabajar más rápido para futuros proyectos, utiliza bases de datos que trabajen en binario como SQLITE. muy rápido, nada legible y más difícil de administrar que MySQL o postgresql.

Saludos.

::::::::::::::EDITO:::::::::::::::

Tal vez haya algunas recomendaciones que te puedo dar.

* Crear un archivo de texto donde tu programa escriba logs (que indiquen el estado de los querys ejecutados exitosamente y los que no). Te ayudará saber que datos no fueron insertados en la DB.

* Eso de utilizar la memoria del servidor para guardar todos los miles de registros de una tabla y convinarlos con otros miles de registros de otra para despues recorrer estos arreglos y obtener los valores e insertarlos en otra tabla, no es lo más conveniente.

Lo que puedes hacer es obtener 1 a 1 , convinarlo e insertarlo, despues liberar la memoria, y volver a hacerlo con el siguiente valor. etc... sucesivamente.

Una función recursiva bien planteada te ahorrará tiempo y lineas de código.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.

Última edición por iovan; 01/12/2011 a las 00:12