Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2009, 16:00
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Pensando la forma de optimizar un script PHP

Buenas,

Os explico el problema a ver si encontráis alguna solución...

Analizo un fichero xml e introduzco todos los datos en la base de datos, hasta aquí bien. La carga se realiza rápidisima, en menos de 1 seg tienes cargado más de 3.000 filas

Sin embargo, el script compara si ha habido cambios en el fichero XML (que por decirle de alguna manera cada linea tiene un identificador unico). Por lo que el script va leyendo el fichero y por cada linea que procesa hace un update del campo correspondiente.

Problemas... la primera carga la hace bien porque no tiene que comparar nada, las cargas posteriores tiene que hacer 3.000 updates para revisar todos los cambios y tarda más de 15 seg.

He probado introducir la carga en una tabla y luego cuando vuelvo a comprobar si hay cambios, los meto en otra tabla diferente, de esta forma comparo el campo concreto para ver si ha cambiado, pero no ahorro nada de tiempo...

Qué formas se os ocurre de hacerlo de una manera que hacerlo "eficaz"?

PD: En el futuro en lugar de 3.000 podrían ser más de 40.000 filas de xml como procesas tal bestialidad de fichero?

Muchas gracias de antemano!