Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/03/2009, 14:38
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: select doble (right join)

Me refería a esto:
where art.c_categoria In ('Anime', 'Manga') and art.c_publicado='si'
o
where art.c_publicado='si' and art.c_categoria In ('Anime', 'Manga')

Comprueba cuánto tarda en realizar esta consulta:
SELECT art.c_alias, art.c_id FROM basedatosweb.articulos art where art.c_categoria In ('Anime', 'Manga') and art.c_publicado='si'

y esta otra

SELECT art.c_alias, art.c_id FROM basedatosweb.articulos art where art.c_publicado='si' and art.c_categoria In ('Anime', 'Manga')

Habría que ver qué índices tienes, si las categorías las tienes en campos indexados, deberías utilizarlos (aunque si no son muchas, lo mismo no sirve de nada)

también deberías hacer un explain a la consulta para ver el rendimiento de la misma.
Por otra parte, no sé si el order by por t1.c_id es necesario. No olvides que estás mostrando todos los datos de la tabla phpbb_users, no sé muy bien por qué; y si los muestras todos, por qué ordenar con un criterio que no tendrán todos los registros. Yo lo quitaría y comprobaría también la diferencia.
De todas formas, quizás lo mejor sería que nos dijeras la lógica de la consulta, por si hubiera una mejor solución para tu caso.