У меня вопрос по производительности MySQL
Query1:
select departments.*, booth_feature.some_feature
from departments
left join booth on booth.dept_id = departments.dept_id
left join booth_feature on booth.booth_id=booth_feature.booth_id
Query2:
select departments.*, booth_feature.some_feature
from departments
left join (booth, booth_feature) on ( booth.dept_id = departments.dept_id and booth.booth_id=booth_feature.booth_id)
Предполагая, что:
отдел может иметь несколько кабин
1 кабина => 1 функция кабины
и столы отделов, и столы являются большими столами.
Используя объяснение, первый запрос выглядит лучше (он проверяет стенд перед booth_feature), несмотря на то, что левое соединение обычно дороже внутреннего соединения. Это правильно?