Вот это хорошее замечание. В таком случае нужно лезть и читать сравнение where in (в реализации eager loading) и запросов через join. Насколько я понимаю join будет медленнее и то значительно. Но в общем случае я все же предпочту консистентную транзакцию с join’ом чем множество 10-20 select - сеть не надежна и потерять один из кучи запросов гораздо проще
Я скорее говорю о сети. Случай, если на сервере мощный ssd, но интернет канал плохой - плохо будет слать много select-запросов. А в случае, если у нас сервак с нормальным каналом, процом, но диск не фуричит, конечно лучше облегчить ему работу
20 запросов требующих по 30 обращений к диску или 1 запрос требующий 450 обращений к диску (за счет того что часть информации получается всего 1 раз) явно 1 запрос лучше по всем параметрам. вы и io не так нагрузили и ответ быстрее получили, и накладных расходов меньше\