Dette lyder som:Bug #70617 Standard persistent statistik kan forårsage uventede lange forespørgselstider
For hvad det er værd, er dette ikke en Percona-fejl, det er også til stede i MySQL 5.6-fællesskabsudgaven.
Der er tre mulige løsninger:
-
Brug STRAIGHT_JOIN til at give et tip til optimeringsværktøjet om ikke at omarrangere tabelreferencer.
SELECT STRAIGHT_JOIN i.item_name, i.item_key, i.item_date, f.format_long FROM items i INNER JOIN formats f ON i.item_format = f.format_id WHERE i.item_private = 0 ORDER BY i.item_id DESC LIMIT 8
Jeg har omskrevet din JOIN til at bruge SQL-92-syntaks, hvilket jeg anbefaler.
-
Deaktiver den nye InnoDB persistent stats funktion, der vender tilbage til adfærd før 5.6.
I din my.cnf-fil:
innodb_stats_persistent=0
-
Opdater InnoDB optimizer statistik manuelt, efter du har foretaget en væsentlig ændring af dataene (for eksempel efter indlæsning af en mysqldump):
ANALYZE TABLE items; ANALYZE TABLE formats;
PS:Jeg arbejder hos Percona, og denne fejl blev opdaget af min kollega Justin Swanhart .