>Нам нужен составной индекс age_gender, потому что MySQL использует только 1 индекс >на запрос
в 5.7 появился мерж индексов.
запросы могут использовать первые поля составных индексов.
SELECT * FROM `users` WHERE `age` > 20 AND `gender` = 'male' ORDER BY `name`
SELECT * FROM `users` WHERE `age` > 20 AND `gender` = 'male' ORDER BY `rating`
эти два запроса могут использовать индекс (age, gender, rating)
второй запрос может использовать индекс (age, gender) но только для фильтрации сортировка будет на диске (using filesort) некритично для небольших выборок.