
27/11/2011, 16:00
|
| | Fecha de Ingreso: abril-2008 Ubicación: MDQ
Mensajes: 54
Antigüedad: 17 años Puntos: 2 | |
Como optimizar esta consulta Tengo muy poca idea de MYSQL y aunque he buscado como optimizar consultas, los tutoriales siempre te dicen que se puede USAR EXPLAIN SELECT y loo resultados que te debe dar, pero nunca te dicen realmente como optimizar la consulta.
Tengo la siguiente choclo consulta:
Código:
EXPLAIN SELECT usuarios.destacado,idUsuario, nombre as titulo,usuarios.pais,paises.pais as nombrePais, descripcion,subcategorias.catId as idCat, categoria1 as idSubCat,DATE_FORMAT(fechaentrada, '%w') as dia, DATE_FORMAT(fechaentrada, '%c') as mes ,DATE_FORMAT(fechaentrada, '%e') as diames ,TIMESTAMPDIFF(MINUTE,NOW(), fechaentrada) as hace_min,foto as foto1,estado,provincia, regiones.prov, localidades.poblacion, localidades.pob,subcategorias.nombreSubcategoria as nombreCategoria ,subcategorias.subdomain,link FROM usuarios ,regiones, localidades,subcategorias,paises WHERE empresa = '1' AND usuarios.estado = regiones.id AND usuarios.poblacion = localidades.id AND subcategorias.id = categoria1 AND subcategorias.id_idioma ='7' AND localidades.id_idioma ='7' AND regiones.id_idioma ='7' AND usuarios.pais = paises.id AND categoria1 = '80' AND regiones.id = '818' AND localidades.id = '87164' GROUP BY usuarios.idUsuario ORDER BY destacado DESC, usuarios.fechaentrada DESC LIMIT 0,18
Que me da el siguiente explain:
Código:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE regiones ref id id 2 const 3 Using where; Using temporary; Using filesort
1 SIMPLE localidades ref id id 4 const 4 Using where
1 SIMPLE subcategorias ref id_idioma,id id 4 const 4 Using where
1 SIMPLE usuarios ALL pais NULL NULL NULL 309 Using where
1 SIMPLE paises ref PRIMARY PRIMARY 2 chifli_nautiic.usuarios.pais 10 Using where
Tengo índices creados en todos los ids de la tabla que puedan tener en común con otra.
Me podrian dar alguna pista?
Muchas Gracias!! |