Ini terdengar seperti:Bug #70617 Statistik persisten default dapat menyebabkan waktu kueri lama yang tidak terduga
Apa gunanya, ini bukan bug Percona, ini juga ada di MySQL 5.6 edisi komunitas.
Ada tiga solusi yang mungkin:
-
Gunakan STRAIGHT_JOIN untuk memberikan petunjuk kepada pengoptimal agar tidak menyusun ulang referensi tabel.
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
Saya telah menulis ulang JOIN Anda untuk menggunakan sintaks SQL-92, yang saya rekomendasikan.
-
Nonaktifkan statistik persisten InnoDB fitur, kembali ke perilaku sebelum 5.6.
Di file my.cnf Anda:
innodb_stats_persistent=0
-
Refresh statistik pengoptimal InnoDB secara manual setelah Anda melakukan perubahan signifikan pada data (misalnya, setelah memuat mysqldump):
ANALYZE TABLE items; ANALYZE TABLE formats;
PS:Saya bekerja di Percona, dan bug ini ditemukan oleh rekan saya Justin Swanhart .