Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > MySQL > Последовательность left и inner join в запросе |
Автор: maxipub 25.6.2018, 16:07 | ||||
Здравствуйте. Правильно ли я понимаю, что данные два запроса будут равнозначными:
? |
Автор: Akina 25.6.2018, 17:37 |
И да, и нет. Результат будет одинаковый, а планы выполнения (и соответственно время и использованные ресурсы) - разные. |
Автор: maxipub 25.6.2018, 17:42 |
Akina, насколько я знаю: 1) джойны обрабатываются в той же последовательности, в которой указываются в запросе; 2) сначала рекомендуют ставить легкие таблицы, тяжелые - в конец. Это верно? А собственно сам вопрос, состоял как раз в результате. Т.е. LEFT и INNER JOIN-ы можно как угодно менять местами (ну понятно, что t5 не ставить на место t1 в примере, это уже банально будет не LEFT), на результат это ни как не повлияет? |
Автор: eclipsle88 19.7.2018, 22:28 |
Не, результат может и не совпасть, т.к. там левое соединение - заполняет сначала левую, потом правую и нулями дополняет. А если в самом начале сделать лефт, то оно и потянет все эти нули вниз за собой, надеюсь понел |