Индекс сам по себе не гарантирует быстрый запрос. Сначала выполните EXPLAIN, посмотрите число просматриваемых строк и способ соединения таблиц.
Проверьте по порядку:
- начинается ли составной индекс с полей из условия;
- нет ли функции над индексируемой колонкой;
- совпадают ли типы полей в
JOIN;
- можно ли убрать лишний
ORDER BY;
- не возвращает ли запрос почти всю таблицу.
Меняйте по одному условию и снова снимайте план. Так понятно, какое изменение действительно помогло.