Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/08/2011, 10:22
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Se puede mejorar esta consulta.

Código MySQL:
Ver original
  1.     (SUM(IF(estado='PAGADO' OR estado='OCUPADO', total, 0)) +
  2.     SUM(IF(estado='OCUPADO', entrega, 0)) +
  3.     SUM(IF(estado='DEBE', entrega, 0))) xTotal
  4. FROM alquiler
  5.     fentrada BETWEEN '2001-01-01' AND '2011-08-04';
Siempre que puedas, evita hacer subconsultas en el SELECT. Es una de las formas más ineficientes que existen, porque se ejecuta al menos una vez por cada registro devuelto, y en estos casos se hace al menos tres veces.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)