sql >> Database teknologi >  >> RDS >> Mysql

SQL-forespørgsel sidder fast i statistiktilstand

Jeg stødte på det samme problem for nylig:MySQL begyndte at kvæle (fast i tilstanden 'statistik') på forespørgsler med en masse tabeller samlet. Jeg fandt et godt blogindlæg a> forklarer, hvorfor dette sker, og hvordan det løses.

Grundlæggende i det mindste i MySQL 5.5, standardværdien for konfigurationsparameteren optimizer_search_depth er 62, hvilket vil få forespørgselsoptimeringsværktøjet til at tage eksponentielt længere tid, efterhånden som antallet af tabeller i forespørgslen stiger. Efter et vist tidspunkt vil det begynde at tage dage eller endnu længere at afslutte forespørgslen.

Men hvis du indstiller optimizer_search_depth til 0 i din my.cnf , MySQL vælger automatisk passende dybde, men begrænser den til 7, hvilket endnu ikke er for komplekst.

Tilsyneladende er dette problem blevet løst i MySQL 5.6, men jeg har ikke selv testet det endnu.



  1. Kan ikke returnere resultater fra lagret procedure ved hjælp af Python-markøren

  2. android.content.res.Resources$NotFoundException:String ressource ID #0x2 Database

  3. Hvordan implementerer man batchhentning med Fluent NHibernate, når man arbejder med Oracle?

  4. søg data fra html-input i mysql