optimizacion CASE

19/02/2009 - 08:23 por Normanmp | Informe spam
Cuando tenemos una Update, que usa muchos Case (pongo un ejemplo a
continuacion), como se puede optimicar, alguna idea?. Tengo entendido que el
uso indiscriminado de CASE penalizan las consultas, y me estoy viendo
penalizado pur una consulta.
La consulta es del tipo:

UPDATE tabla SET
campo_1 CASE
when (campoX<>'' and campoXis not NULL)
then campoX
else campo_1
END
, campo_ 2=
CASE
when (NX<>'' and NX is not NULL)
then NX
else campo_ 2
END
, campo_3 = CASE ... END
, campo_4 = CASE ... END
, campo_5 = CASE ... END
, campo_6 = CASE ... END
, campo_7 = CASE ... END
, campo_8 = CASE ... END
.
.
.
,campo_25 = CASE ... END
where



GRACIAS
 

Leer las respuestas

#1 Carlos Sacristan
19/02/2009 - 10:31 | Informe spam
¿Has mirado el plan de ejecución para comprobar qué es lo que te está
penalizando?

Si esos CASE están en la parte del SET y son de ese tipo, no creo yo que
sean lo que te están penalizando...


Un saludo
-
www.navento.com
Servicios de Localización GPS


"Normanmp" wrote:

Cuando tenemos una Update, que usa muchos Case (pongo un ejemplo a
continuacion), como se puede optimicar, alguna idea?. Tengo entendido que el
uso indiscriminado de CASE penalizan las consultas, y me estoy viendo
penalizado pur una consulta.
La consulta es del tipo:

UPDATE tabla SET
campo_1 > CASE
when (campoX<>'' and campoXis not NULL)
then campoX
else campo_1
END
, campo_ 2=
CASE
when (NX<>'' and NX is not NULL)
then NX
else campo_ 2
END
, campo_3 = CASE ... END
, campo_4 = CASE ... END
, campo_5 = CASE ... END
, campo_6 = CASE ... END
, campo_7 = CASE ... END
, campo_8 = CASE ... END
.
.
.
,campo_25 = CASE ... END
where



GRACIAS



Preguntas similares