| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
| Не, результат может и не совпасть, т.к. там левое соединение - заполняет сначала левую, потом правую и нулями дополняет. А если в самом начале сделать лефт, то оно и потянет все эти нули вниз за собой, надеюсь понел |