@nikolau

Имеет ли значение порядок условий WHERE?

Например: SELECT ... WHERE user_id = 5 AND text LIKE %...%
и SELECT ... WHERE text LIKE %...% AND user_id = 5
Понятно, что like медленнее и нужно, сначала, сравнить user_id, но как mysql делает выборку - строго по условиям или сам оптимизирует?
  • Вопрос задан
  • 732 просмотра
Решения вопроса 1
AlexMaxTM
@AlexMaxTM
Ваша перестановка не повлияет на скорость выборки. Как делать выборку при заданных условиях решает СУБД и не важно в какой последовательности были заданны условия отбора.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
EXPLAIN вам в помощь.
IMHO, с учётом того, что LIKE, начинающийся с % не использует индекс, то при перестановке условий скорость может упасть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы