Nedávno jsem narazil na stejný problém:MySQL se začalo dusit (uvízl ve stavu 'statistika') při dotazech se spoustou tabulek spojených dohromady. Našel jsem dobrý příspěvek na blogu vysvětlení, proč k tomu dochází a jak to vyřešit.
V podstatě alespoň v MySQL 5.5, výchozí hodnota pro konfigurační parametr optimizer_search_depth je 62, což způsobí, že optimalizátor dotazu zabere exponenciálně více času, jak se zvyšuje počet tabulek v dotazu. Po určitém okamžiku začne dokončení dotazu trvat dny nebo i déle.
Pokud však nastavíte optimizer_search_depth na 0 ve vašem my.cnf , MySQL automaticky vybere vhodnou hloubku, ale omezí ji na 7, což ještě není příliš složité.
Tento problém byl zřejmě opraven v MySQL 5.6, ale sám jsem to ještě netestoval.