Hola, tengo la siguiente consulta:
select a.id as idp, a.es as nombre,a.foto,b.es as descrip,c.es as precio,c.promo from productos as a, descripcion as b,precio as c where a.idCategoria=50 and b.idProducto=a.id and c.idProducto=a.id GROUP BY a.id ORDER BY a.id DESC
 
Weno, respecto a esta consulta comentar que idProducto e id es PK en las tablas que se usa (por lo tanto tiene indice), a parte tengo un indice en idCategoria. Osea todo lo que se usa en el where tiene un indice asociado.
 
Cuando hago un explain de la consulta obtengo lo siguiente:
table 	type 	possible_keys 	key 	key_len 	ref 	rows 	Extra
a 	ref 	PRIMARY,idCategoria 	idCategoria 	4 	const 	37 	where used; Using temporary
b 	eq_ref 	PRIMARY 	PRIMARY 	4 	a.id 	1 	 
c 	eq_ref 	PRIMARY 	PRIMARY 	4 	a.id 	1 	  
 
Como veis en la primera linea, en extra tengo where used; Using temporary. Si quito el group by obtengo un using filesort. Como puedo optimizar la consulta para evitar que me hago un filesort o una tabla temporal?
 
Muchas gracias, un saludo ;) 
   
 

 Re: Optimizar consulta
 Re: Optimizar consulta  
 
