Задать вопрос
Kadi
@Kadi
веб-разработчик

Как происходит поиск при select-e с несколькими условиями?

В общем есть запрос...
SELECT * FROM table WHERE a = a AND b = b;
Вот интересно, будет ли он смотреть 'b', если 'a' не нашел?
Или же тупо будет перебирать и 'a', и 'b'?
  • Вопрос задан
  • 2272 просмотра
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
saboteur_kiev
@saboteur_kiev
software engineer
Все программирование основано на "ленивых проверках", то есть если a не совпало, b смотреть не будет.
Простейшая оптимизация запросов - это в правильном порядке проставить проверки, чтобы в первую очередь проверяло самые легковесные, затем потяжелее.

Например в простых запросах с несложной иерархией, если есть проверка числа и строки, первым проверять число, вторым строку. С другой стороны, в простых несложных структурах практически не бывает такой нагрузки, чтобы был смысл заморачиваться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
stepan_sib
@stepan_sib
head, hands, hard working, contracts
Для начала - будет смотреть индексы - есть ли там составной индекс из 2х полей, участвующих в WHERE
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы