OPTIMIZACIION DE QUERY (UN FAVOR)

18/10/2005 - 18:24 por cali | Informe spam
me piden aka en el trabajo que optimice este proceso de update de 1 solo
campo en mi tabla, el proceso dura casi 35 minutos, la tabla comprobante
tiene como 89000 filas y la tmp_pagos tiene como 90,000 es donde se
registran los comprobantes con sus respectivos pagos en una determinada
moneda, aki va el update

Update Comprobante
Set Montocancelado=Isnull((Case A.Monedaid
When 1 Then (Select Sum(Isnull(Z.monpag,0)) From TMP_PAGOS Z
Where Z.numdco=A.numero
and a.tipocomprobanteid=Z.tipdoc and z.serdco=a.serieid AND Z.TIPMON=1 )

When 2 Then (Select Sum(Isnull(Z.monpad,0)) From TMP_PAGOS Z
Where Z.numdco=A.numero
and a.tipocomprobanteid=Z.tipdoc and z.serdco=a.serieid AND Z.TIPMON=2 )
End),0)

From
Comprobante A

la verdad es que no le veo como optimizqarlo, asumo que el tiempo de demora
es por la cantidad de registros que hay, pero tampoco voy a tratar de
optimizar usando cursores.

a ver kien me da la mano
 

Leer las respuestas

#1 Maxi
17/10/2005 - 19:09 | Informe spam
Fijate los indices


Salu2
Maxi [MVP SQL SERVER]


"cali" <nada> escribió en el mensaje
news:

me piden aka en el trabajo que optimice este proceso de update de 1 solo
campo en mi tabla, el proceso dura casi 35 minutos, la tabla comprobante
tiene como 89000 filas y la tmp_pagos tiene como 90,000 es donde se
registran los comprobantes con sus respectivos pagos en una determinada
moneda, aki va el update

Update Comprobante
Set Montocancelado=Isnull((Case A.Monedaid
When 1 Then (Select Sum(Isnull(Z.monpag,0)) From TMP_PAGOS Z
Where Z.numdco=A.numero
and a.tipocomprobanteid=Z.tipdoc and z.serdco=a.serieid AND
Z.TIPMON=1 )

When 2 Then (Select Sum(Isnull(Z.monpad,0)) From TMP_PAGOS Z
Where Z.numdco=A.numero
and a.tipocomprobanteid=Z.tipdoc and z.serdco=a.serieid AND
Z.TIPMON=2 )
End),0)

From
Comprobante A

la verdad es que no le veo como optimizqarlo, asumo que el tiempo de
demora es por la cantidad de registros que hay, pero tampoco voy a tratar
de optimizar usando cursores.

a ver kien me da la mano


Preguntas similares