Эти два запроса обрабатываются одинаково.
Для ясность , ON
должно указывать, как связаны таблицы; WHERE
должен фильтровать.
Но для оптимизации они эквивалентны JOIN
.
FO LEFT JOIN
, делает независимо от того, где вы поставили условия.
В качестве дополнительной складки к вашему вопросу ... Если бы в таблицах было разное количество строк, оптимизатор, вероятно, начал бы с самой маленькой таблицы.
См. это, чтобы узнать, как считать строки: http://mysql.rjweb.org/doc.php/index_cookbook_mysql#handler_counts
Пожалуйста, укажите SHOW CREATE TABLE
, чтобы мы могли понять id_1
, et c.
It было бы глупо sh запускать такой код без индексов.
Каков ожидаемый результат? Как то так?
+---+---+---+
| n | n | n |
+---+---+---+
| 0 | 0 | 0 |
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| 3 | 3 | 3 |
| 4 | 4 | 4 |
| 5 | 5 | 5 |
...