Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/12/2014, 07:33
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: asignar multipes consultas a multiples variables en un script

Por lo pronto, cualquier consulta con ORDER BY o GROUP BY es ineficiente por definición. Todo ordenamiento o agrupación requiere uso de memoria y tiempo de procesador, lo que conspira contra la perfomance.
Por otro lado, hacer un ordenamiento en una consulta que devuelve un único valor de agregación (SUM(), ROUND(), AVG()), no tiene sentido, porque aplica sobre el total de registros. Si buscases una lista de valores tendría alguna utilidad, pero en ese caso no.

En otras palabras, esto sí tiene sentido:
Código MySQL:
Ver original 
Esto no:
Estas últimas pueden quedar sin el ORDER BY, y sin LIMIT porque de todos modos devolverán un único registro.

Código MySQL:
Ver original
  1. SELECT ROUND(temperature,1) FROM data WHERE date = CURDATE();
  2. SELECT ROUND(average_windspeed,1) FROM data WHERE date = CURDATE();
  3. SELECT ROUND(barometer,1) FROM data WHERE date = CURDATE();

Además, si quieres mejor performance, es mejor que haya indices sobre los campos donde aplica el WHERE, por lo menos...

Finalmente, los nombres de campos no debe usar palabras reservadas. Pueden generar errores de datos o ejecución de dificil detección. Me refiero en especial a uno denominado "DATE", que es un tipo de dato.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)