sql >> Databasteknik >  >> RDS >> Mysql

SQL-fråga har fastnat i statistiktillstånd

Jag stötte på samma problem nyligen:MySQL började kvävas (fastnat i statistisk "statistik") på frågor med många tabeller sammanfogade. Jag hittade ett bra blogginlägg förklara varför detta händer och hur man löser det.

I princip åtminstone i MySQL 5.5, standardvärdet för konfigurationsparametern optimizer_search_depth är 62 vilket gör att frågeoptimeraren tar exponentiellt längre tid när antalet tabeller i frågan ökar. Efter en viss tidpunkt kommer det att börja ta dagar eller till och med längre tid att slutföra frågan.

Men om du ställer in optimizer_search_depth till 0 i din my.cnf , MySQL väljer automatiskt lämpligt djup, men begränsar det till 7 vilket ännu inte är alltför komplext.

Det här problemet har tydligen åtgärdats i MySQL 5.6 men jag har inte testat det själv ännu.



  1. Hur anropar jag en lagrad procedur med argument med sqlcmd.exe?

  2. Är en enda SQL Server-sats atomär och konsekvent?

  3. Mysql_real_escape_string() Varning förvirring

  4. Eliminera dubbletter av värden baserat på endast en kolumn i tabellen