Problema de velocidad en Update Command

19/12/2005 - 23:06 por JMContreras | Informe spam
Hola a todos, tengo el siguiente problema, he desarrollado una aplicación
para actualización masiva de precios de compra la cual debe de actualizar
cada mes unas 200.000 referencias. He comprobado que el acceso a la tabla
destino y la localización del registro a actualizar es muy rápida (leer y
buscar 23.777 < 5 minutos), ahora bien en el momento que ejecuto el update me
baja a unos 100 registros cada 20 segundos, por lo que esos 23.777 registros
le costaría procesarlos + de una hora.

¿Alguna idea ó sugerencia?

Gracias a todos de antemano y salu2.

Preguntas similare

Leer las respuestas

#1 A.Poblacion
20/12/2005 - 08:06 | Informe spam
"JMContreras" wrote in message
news:
Hola a todos, tengo el siguiente problema, he desarrollado una aplicación
para actualización masiva de precios de compra la cual debe de actualizar
cada mes unas 200.000 referencias. He comprobado que el acceso a la tabla
destino y la localización del registro a actualizar es muy rápida (leer y
buscar 23.777 < 5 minutos), ahora bien en el momento que ejecuto el update
me
baja a unos 100 registros cada 20 segundos, por lo que esos 23.777
registros
le costaría procesarlos + de una hora.

¿Alguna idea ó sugerencia?



¿Tienes muchos índices creados sobre la tabla? Si es asi, grabar el
registro completo es una operación lenta porque tienen que actualizarse
todos los índices. Si únicamente actualizas el campo Precio, te basta hacer
un Update Set Precio=..., sin tocar el resto de los campos, pero ese Update
tendrás que enviarlo a mano con un SqlCommand; si estás usando el
UpdateCommand de un DataAdapter, la sentencia que se genera por defecto
actualiza siempre todos los campos del registro y por lo tanto actualiza
todos los índices.
Respuesta Responder a este mensaje
#2 JMContreras
20/12/2005 - 22:12 | Informe spam
Gracias por tu respuesta, siendo así voy a ejecutar directamente una consulta
de update sobre el campo precio.

Gracias y un saludo.

"A.Poblacion" escribió:

"JMContreras" wrote in message
news:
> Hola a todos, tengo el siguiente problema, he desarrollado una aplicación
> para actualización masiva de precios de compra la cual debe de actualizar
> cada mes unas 200.000 referencias. He comprobado que el acceso a la tabla
> destino y la localización del registro a actualizar es muy rápida (leer y
> buscar 23.777 < 5 minutos), ahora bien en el momento que ejecuto el update
> me
> baja a unos 100 registros cada 20 segundos, por lo que esos 23.777
> registros
> le costaría procesarlos + de una hora.
>
> ¿Alguna idea ó sugerencia?

¿Tienes muchos índices creados sobre la tabla? Si es asi, grabar el
registro completo es una operación lenta porque tienen que actualizarse
todos los índices. Si únicamente actualizas el campo Precio, te basta hacer
un Update Set Precio=..., sin tocar el resto de los campos, pero ese Update
tendrás que enviarlo a mano con un SqlCommand; si estás usando el
UpdateCommand de un DataAdapter, la sentencia que se genera por defecto
actualiza siempre todos los campos del registro y por lo tanto actualiza
todos los índices.




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida