新しい CentOS 6.4 サーバーに Percona 5.6 をインストールしました。これは、32 コア キセノン、72GB RAM、8x SAS RAID 10 セットアップの高速マシンです。ここまでは順調ですね
私の古いサーバーは少し強力ではなく、まだ MySQL 5.1 を実行していました。ですから、これはかなりのアップグレードでした。しかし、私は InnoDB でいくつかの問題を抱えています。いくつかのテーブルでインデックスを正しく使用していないようです。私の古いマシンでは、同じクエリが正常に実行されていました。
両方のサーバーに同じデータベースがあります。古いマシンで mysqldump を実行し、それを新しい Percona 5.6 サーバーにインポートしました。インデックスは同じままでした。両方のサーバーが同じ my.cnf 構成設定を使用します。
テーブル項目には次のインデックスがitem_id, item_format, item_private
あり、約 4,000 万行が含まれています。テーブル形式のインデックスは on:format_id
で、約 250 行が含まれます。
SELECT
i.item_name, i.item_key, i.item_date, f.format_long
FROM
items i, formats f
WHERE
i.item_format = f.format_id
AND
i.item_private = 0
ORDER BY
i.item_id DESC LIMIT 8
私の古いサーバーでは、このクエリには約0.0003 seconds
. 新しいサーバーでは、それが引き継ぎ100 seconds
ます。
OLD サーバーで EXPLAIN を使用してクエリを実行します。
+----+-------------+-------+--------+---------------+---------+---------+----------------------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+--------+---------------+---------+---------+----------------------+------+-------------+
| 1 | SIMPLE | i | index | item_format | PRIMARY | 4 | NULL | 8 | Using where |
| 1 | SIMPLE | f | eq_ref | PRIMARY | PRIMARY | 4 | dbname.i.item_format | 1 | |
+----+-------------+-------+--------+---------------+---------+---------+----------------------+------+-------------+
NEW [問題] サーバーで EXPLAIN を使用してクエリを実行します。
+----+-------------+-------+------+---------------+-------------+---------+--------------------+------+---------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+-------------+---------+--------------------+------+---------------------------------+
| 1 | SIMPLE | f | ALL | PRIMARY | NULL | NULL | NULL | 219 | Using temporary; Using filesort |
| 1 | SIMPLE | i | ref | item_format | item_format | 4 | dbname.f.format_id | 3026 | Using where |
+----+-------------+-------+------+---------------+-------------+---------+--------------------+------+---------------------------------+
一時およびファイルソートを使用していることがわかります。これが速度低下の原因のようです。
この問題を解決する方法はありますか?