Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/01/2008, 15:53
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
Re: ¡Desesperado! Ayuda con una consulta de MySql.

La suconsulta que describo en el segundo caso hace, en realidad, que la salida de la primera opere como tabla de lectura, pero como ya está leída y almacenada en el buffer de consultas, la salida es más rápida.
Además, la operación que mayor tiempo insume es SIEMPRE el ordenamiento, y en segundo puesto el HAVING. Como el ordenamiento se hace en la medida que se barre la tabla, el overheld de la lectura del disco en la segunda es inexistente.
Una consulta de ese tipo me permitió reducir el tiempo de un resumen que abarcaba 1.400.000 registros en un 80%, sin necesidad de crear índices ni tablas temporales.
Estos temas (optimización de consulta) se pueden ver someramente en páginas dedicadas al tema:

http://www.devshed.com/c/a/MySQL/MyS...zation-part-1/

http://www.databasejournal.com/featu...le.php/1382791