Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/06/2012, 01:47
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Optimizar base de datos

Esa consulta tiene partes, no de datos si no de sintaxis que depende del valor de variables php, como no podemos saber su contenido dificilmente se te puede ayudar.

$SQL = "SELECT t1.id, t1.titulo, t1.intro, t1.direccion, t1.telefono, t1.mail, t1.web, t1.mail,
t1.atencion, t1.imagen, t1.detalle, t1.titulo_galeria,
GROUP_CONCAT(DISTINCT t3.rubro ORDER BY t3.rubros_id SEPARATOR ', ') AS rubros, t4.zona, t5.usuario, activar_telefono, activar_link_web
FROM comercios t1
INNER JOIN comercios_rubros t2 ON(t2.comercios_id = t1.id)
INNER JOIN rubros t3 ON(t3.id = t2.rubros_id
".$extr2."
)
INNER JOIN zonas t4 ON(t4.id = t1.zonas_id)
INNER JOIN s_usuarios t5 ON(t1.mail=t5.email)
WHERE 1 ".$ext." ".$extz." ".$wh."
AND t1.estado = 'Y'
GROUP BY t1.id
ORDER BY 2 ASC
LIMIT ".$desde.",".$max_show.";";


Por otro lado no tiene sentido ordenar por una constante

ORDER BY 2 ASC

esa linea sobraria, excepto que pueda referirse a la segunda columna (?).


GROUP_CONCAT(

+

GROUP BY t1.id

Sabiendo es resultado esperado quizas se podria mejorar....


13.2.8.3. Index Hint Syntax


Ana liza USE INDEX quizas forzando el uso de algun indice pude que mejore....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.