Hola skyspablo:
Puedes comenzar por leer la documentación oficial acerca de los índices:
http://dev.mysql.com/doc/refman/5.0/...ate-index.html
También deberías evitar hacer un SELECT *, independientemente de si son muchos los campos que tiene cada tabla... esta es una de las peores prácticas que aun tienen algunos programadores. Debes listar sólo los campos que realmente necesites, y si son todos, debes listarlos todos, pero no poner *.
también deberías poner la condición
Código:
comunicados_leidos.id_interno_leido = '5'
en la sección WHERE y no en la sección ON del INNER...
Código:
SELECT
CM.campo1, CM.campo2,.....,
CL.campo1, CM.campo2,......
FROM comunicados_muestra CM
LEFT JOIN comunicados_leidos CL
ON CM.id_comunicado = CL.id_comunicado_leido
WHERE
comunicados_leidos.id_interno_leido = '5'
ORDER BY
comunicados_muestra.fecha_modif DESC
LIMIT 0 , 30
Saludos
Leo.