Хорошо, перед моим ответом подпишитесь на MySQL Performance Blog , я многому научился (и думал, что уже много знаю о MySQL). Кроме того, у него есть страница с инструментами для суки здесь .
Во-вторых, вот некоторая информация о EXPLAIN (на которую ссылается книга High Performance MySQL от O'Reilly):
Когда вы запускаете EXPLAIN для запроса, он сообщает вам все, что MySQL знает об этом запросе в форме отчетов для каждой таблицы, участвующей в запросе.
Каждый из этих отчетов скажет вам ...
- идентификатор таблицы (в запросе)
- Роль таблицы в большем выборе (если применимо, может просто сказать ПРОСТО, если это только одна таблица)
- название стола (дух)
- тип соединения (если применимо, по умолчанию const )
- список индексов в таблице (или NULL, если их нет), возможных_кнопок
- имя индекса, который MySQL решил использовать, key
- размер значения ключа (в байтах)
- ref показывает столбцы или значения, используемые для сопоставления с ключом
- rows - это количество строк, которое MySQL считает необходимым проверить, чтобы удовлетворить запрос. Это должно быть как можно ближе к расчетному минимуму!
- ... тогда любая дополнительная информация, которую MySQL желает передать
Книга великолепна, предоставляя такую информацию, поэтому, если вы этого еще не сделали, попросите своего босса подписать покупку.
В противном случае, я надеюсь, что более осведомленный пользователь SO может помочь:)