Cita: pero me tarda como 7 segundos en cargar y en la tabla estadísticas solo ahí 9 registros :S
Que devuelva 9 registros no significa que
procese 9 registros. Ten en cuenta que estás haciendo un agrupamiento con ordenamiento, ambos procesos que consumen muchísimo tiempo y recursos (son los más ineficientes de todos).
Para que te des una idea, si en una de las tablas de una de mis bases yo hiciese un agrupamiento por fechas, obtendría 300 registros... pero la tabla en este momento tiene 29,7 millones de ellos. Pero esos millones de registros sólo contienen la información diaria de este año...
En esencia, primero deberías ver cuántos registros está procesando y a partir de ello ver si se necesitan índices especiales o filtros en el WHERE de mayor seletividad.
Usa
EXPLAIN para analizar este problema. Allí puede verse cómo se está realizando el JOIN.