SQL - Optimizacion - SELECT anidados

 
Vista:

Optimizacion - SELECT anidados

Publicado por Silvia (2 intervenciones) el 13/11/2008 16:14:26
Hola,
en una consulta tengo lo siguiente:
SELECT
t_assoc.target target_id,
DECODE(SIGN(11-count(t_assoc.associate)), --number of associates
1, --if possitive
'WRAITH', --then
DECODE(SIGN(21-count(t_assoc.associate)), --else
1, --if possitive
'NINJA', --then
DECODE(SIGN(31-count(t_assoc.associate)), --else
1, --if possitive
'BANDIT', --then
'BUCCANER' --else
)
)
) salience
FROM ...etc...
Lo que veo es que hago calcular 3 veces "count(t_assoc.associate)" y he pensado que a lo mejor seria mejor hacer que esa variable la devuelva un SELECT primero y despues anidarlo con otro que haga el DECODE. Así se ahorraría calcular la función 3 veces, pero no estoy segura de que mereciese la pena porque en el DECODE aun tiene que resolver los SIGN.
¿Alguien me podría dar su opinión?
Agradeceria una aclaracion sobre la forma que tiene SQL de ejecutar las órdenes.
Gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder