Странное поведение производительности при преобразовании InnoDB в MyISAM - PullRequest
0 голосов
/ 22 января 2012

это может быть очень тривиальный вопрос, но я не понимаю его, потому что afaik MyISAM должен быть быстрее

У меня есть база данных, содержащая все таблицы MyISAM, кроме одной - это простая таблица соединения N: M с ~ 130 тыс. Записей. я не знаю, почему только эта таблица является InnoDB, но она не была преднамеренной :) У нее есть индексы на обоих внешних ключах, указывающие на связанные с ней таблицы.

Я пытался изменить таблицу на MyISAM, потому что думал, что это повысит производительность, но вместо этого запросы, связанные с этой таблицей, были примерно в 50 раз медленнее (я даже пытался воссоздать индексы, но это не помогло). Почему это так?

1 Ответ

2 голосов
/ 22 января 2012

Я подозреваю, что ваши индексы замены не используются.Вы пробовали анализировать план запроса с помощью EXPLAIN?Это должно показать вам, используются ли ваши индексы и как.

Просто введите "EXPLAIN [yourquery];"в консоль MySQL.

...