El orden de ejecución es:
1) FROM.
2) WHERE
3) GROUP BY
4) LIMIT (es lo último)
En este caso el problema es saber cuántos registros está devolviendo la consulta, y para eso es mejor hacer simplemente un EXPLAIN. Eso nos puede dar una idea de qué está pasando:
Aún así, yo buscaría probar: