sql >> Databáze >  >> RDS >> Mysql

SQL dotaz uvízl ve stavu statistiky

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.



  1. Použijte @@ IDENTITY k vrácení poslední vložené hodnoty identity na serveru SQL Server

  2. java.security.AccessControlException:přístup odepřen (java.security.SecurityPermission authProvider.SunMSCAPI)

  3. java.lang.IllegalStateException:Pokus o provedení operace na uzavřené EntityManagerFactory

  4. Jak exkluzivní zámek mysql databáze?