これは次のように聞こえます:バグ#70617デフォルトの永続的な統計により、予期しない長いクエリ時間が発生する可能性があります>
価値があるのは、これはPerconaのバグではなく、MySQL5.6コミュニティエディションにも存在することです。
考えられる回避策は3つあります。
-
STRAIGHT_JOINを使用して、テーブル参照を並べ替えないようにオプティマイザーにヒントを与えます。
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
JOINをSQL-92構文を使用するように書き直しました。これをお勧めします。
-
新しい
InnoDB永続統計を無効にします 機能、5.6より前の動作に戻します。 my.cnfファイル内:
innodb_stats_persistent=0
-
データに大幅な変更を加えた後(たとえば、mysqldumpをロードした後)、InnoDBオプティマイザーの統計を手動で更新します。
ANALYZE TABLE items; ANALYZE TABLE formats;
PS:私はPerconaで働いていますが、このバグは同僚の JustinSwanhart によって発見されました。 。