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

Query SQL bloccata nello stato delle statistiche

Di recente mi sono imbattuto nello stesso problema:MySQL ha iniziato a soffocare (bloccato in "statistiche" di stato) su query con molte tabelle unite. Ho trovato un buon post del blog spiegando perché questo accade e come risolverlo.

Fondamentalmente almeno in MySQL 5.5, il valore predefinito per il parametro di configurazione optimizer_search_depth è 62, il che farà sì che Query Optimizer impieghi in modo esponenziale più tempo all'aumentare del numero di tabelle nella query. Dopo un certo punto inizieranno a volerci giorni o anche più tempo per completare la query.

Tuttavia, se imposti optimizer_search_depth a 0 nel tuo my.cnf , MySQL sceglie automaticamente la profondità adeguata, ma la limita a 7 che non è ancora troppo complessa.

Apparentemente questo problema è stato risolto in MySQL 5.6 ma non l'ho ancora testato da solo.