des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Left join vs Несколько селектов?

Что по производительности лучше?

select a left join b on b.id = a.b_id

vs

select from a // (получили 1,2,3)
select from b where id = 1,2,3
  • Вопрос задан
  • 563 просмотра
Пригласить эксперта
Ответы на вопрос 3
terrier
@terrier
1). Ваш "SQL" больше похож на псевдокод
2). Эти запросы не эквивалентны ( почитайте внимательнее про LEFT JOIN )
3). Первый вариант быстрее ( при разумных допущениях ), второй - известный антипаттерн, применяемый начинающими программистами, которых напугали "медленными джойнами". На самом деле джойны - это именно то, что реляционные базы могут делать очень быстро и очень продвинуто.
Ответ написан
@RidgeA
join, если индексы есть
Ответ написан
Комментировать
Не знаю, конечно, как у вас. Но я когда тестировал на свое базе в разы быстрее отрабатывает запрос типа:
select from b where id in (select id from a)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы