Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/08/2010, 13:10
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 16 años, 1 mes
Puntos: 360
Respuesta: optimizar sql

Mi primera recomendación es hacer una función en PLSQL que haga la respectiva evaluación. Me parece una consulta demasiado compleja para un resultado tan simple.

Sin embargo utilzando case en vez de decode

Código SQL:
Ver original
  1. SELECT CASE    
  2.     WHEN
  3.     (    
  4.     SELECT COUNT(*)
  5.         FROM
  6.             ALARMAS_USUARIOS ALUAUX
  7.         WHERE
  8.             ALUAUX.IDEALP = 1
  9.         AND ALUAUX.IDEALA = 82
  10.     )
  11.     +
  12.     (    
  13.     SELECT COUNT(*)
  14.         FROM
  15.             ALARMAS_OFICINAS ALOAUX
  16.         WHERE
  17.             ALOAUX.IDEALP = 1
  18.         AND ALOAUX.IDEALA = 82
  19.     ) > 0
  20.     THEN
  21.         '0'
  22.     ELSE
  23.         '1'
  24.     END "CONTIENE REGISTROS"
  25. FROM dual;

He escuchado que el case es el reemplazo elegante de decode. en rendimiento puede ser mejor.

Nos cuentas
__________________
Without data, You are another person with an opinion.
W. Edwads Deming