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

Preguntas similare

Leer las respuestas

#6 Maxi \(MVP SQL\)
19/10/2005 - 01:04 | Informe spam
Hola, hacelo asi_

SET SHOWPLAN_TEXT ON
GO


SELECT * FROM CUSTOMERS



-
[MS-MVP SQL SERVER]

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

sorry maxi pero como lo hago???? lo unico k conozco por plalmn de
ejecucion es cuando salen unos graficos de las lecturas de tablas y cosas
asime puedes dar alguna pista?


"Maxi" escribió en el mensaje
news:

pasame el plan de ejecucion de esta query


Salu2
Maxi [MVP SQL SERVER]


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

la tabla de pagos tiene inidices en los 4 campos k tiene con fill factor
de 90%
y la de comprobante tiene campo identity


"Maxi" escribió en el mensaje
news:%

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






















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