2016-11-28 4 views
0

Если у меня есть таблица в Mysql который имеет мульти индекс столбца на полях (phone_number, name)MySql Group By Использование

Хотя запрашивая эту таблицу, если я просто group by на phone_number будет этот показатель будет использоваться ?

И если я выполняю какую-либо операцию с использованием только номера телефона, будет использоваться индекс?

И если я хочу group by phone_number, имя будет ли этот индекс использоваться?

+0

Как база данных внутренне выполняет ваш запрос трудно сказать. Лучший способ узнать, что происходит, - проверить его и посмотреть на план выполнения. Вы можете сделать это с помощью EXPLAIN. (Https://dev.mysql.com/doc/refman/5.5/en/execution-plan-information.html) – molig

ответ

1

В некоторых случаях MySQL может выполнять GROUP BY с использованием доступа к индексу.

предпосылка для использования индексов для GROUP BY является то, что вся группа колонн ссылки атрибутов из того же индекса, и что индекс хранит свои ключи в порядке.

это означает, что в вашем случае possibile индекс использования как для вашего вопроса

Вы можете найти больше здесь http://dev.mysql.com/doc/refman/5.7/en/group-by-optimization.html