Ver Mensaje Individual
  #4  
Antiguo 09-09-2011
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Reputación: 26
guillotmarc Va por buen camino
Cita:
Empezado por Bretema Ver Mensaje
Muchas gracias por tu respuesta Guillotmarc, he puesto en marcha la solución que me propusiste y efectivamente el descenso en el tiempo de proceso ha sido apreciable, el tiempo de proceso de los registros se ha reducido a un tercio del anterior.

Saludos cordiales.
Sinceramente, 10 segundos (un tercio de los 30 segundos originales), me siguen pareciendo excesivos para solo 2.000 registros.

Parece que la base de datos tiene algún trigger para AFTER UPDATE en la tabla MOVIMIENTOS, y que la ejecución de ese trigger para cada registro ralentiza todo el proceso.

Deberías considerar desactivar los triggers que no sean imprescindibles, antes de lanzar el proceso. Una vez finalizado el proceso, ya puedes reactivar de nuevo los triggers.

ALTER TRIGGER MOVIMIENTOS_AU01 INACTIVE;
ALTER TRIGGER MOVIMIENTOS_AU02 INACTIVE;
EXECUTE PROCEDURE ACTUALIZAR_SALDO;
ALTER TRIGGER MOVIMIENTOS_AU01 ACTIVE;
ALTER TRIGGER MOVIMIENTOS_AU02 ACTIVE;

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita