вопрос об использовании индекса mysql - PullRequest
2 голосов
/ 04 июля 2011

У меня есть простой запрос, который выглядит как

select id, name from mytable where age=28 order by name

Вывод EXPLAIN смущает меня, я получил

possible_keys : age
key : name

Значит ли это, что MySQL наконец решил использовать индекс 'name' для извлечения всех строк? Используется ли возрастной индекс или нет? Сколько индексов используется в этом запросе? Если это именно тот индекс имен, который mysql в конечном итоге выберет для использования, что случилось с индексом 'age'?

1 Ответ

1 голос
/ 04 июля 2011

Действительно, имя используется, а возраст - нет.Лучшее решение - использовать комбинированный ключ как для возраста, так и для имени (в таком порядке).Таким образом, запросы могут использовать этот индекс при сортировке и фильтрации по обоим столбцам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...