Size: a a a

2021 June 30

y

yu2ry in Laravel Pro
зависит, но еще зависит от кол - во записей, в таблицах]
источник

М

Максим in Laravel Pro
Вот это хорошее замечание. В таком случае нужно лезть и читать сравнение where in (в реализации eager loading) и запросов через join. Насколько я понимаю join будет медленнее и то значительно. Но в общем случае я все же предпочту консистентную транзакцию с join’ом чем множество 10-20 select - сеть не надежна и потерять один из кучи запросов гораздо проще
источник

А

Алексей in Laravel Pro
может я конечно не прав, но разве джойн и сабселекты не используются для разных задач?
источник

М

Максим in Laravel Pro
Ну селекты != join в специфике задаче, но мы говорим про выборки. Можно сделать кучу обычных селект-запросов и уже в php их склеивать/обрабатывать
источник

А

Алексей in Laravel Pro
ну если так подходить то можно вообще каждое значение вытягивать отдельным запросом а потом клеить. но зачем?
источник

М

Максим in Laravel Pro
Я скорее говорю о сети. Случай, если на сервере мощный ssd, но интернет канал плохой - плохо будет слать много select-запросов. А в случае, если у нас сервак с нормальным каналом, процом, но диск не фуричит, конечно лучше облегчить ему работу
источник

А

Алексей in Laravel Pro
джоин по сути нужен для "обогощения" запросов из "связанных" таблиц.
селект нужен "для запросов".
вот и вся разница...
источник

А

Алексей in Laravel Pro
мне кажется это работает не так...
вопервых у базы есть буфер пулл. и если он достаточно большой то большинство ваших запросов будут забираться оттуда
источник

М

Максим in Laravel Pro
Что если сам запрос просто пропадет в сети, пакеты не дойдут до адресата?
источник

А

Алексей in Laravel Pro
20 запросов требующих по 30 обращений к диску
или 1 запрос требующий 450 обращений к диску (за счет того что часть информации получается всего 1 раз)
явно 1 запрос лучше по всем параметрам. вы и io не так нагрузили и ответ быстрее получили, и накладных расходов меньше\
источник

А

Алексей in Laravel Pro
ну да, что если датацентр где хостится база сгорит
источник

М

Максим in Laravel Pro
Придется слать один join
источник

А

Алексей in Laravel Pro
если у вас пакеты пропадают - наверное стоит сменить хостера
источник

М

Максим in Laravel Pro
!
источник

М

Максим in Laravel Pro
Если я правильно понял, я об этом и писал, ну или думал что писал, выше:)
источник

А

Алексей in Laravel Pro
да 1 запрос делающий то же самое что и n запросов почти всегда лучше помоему
источник

М

Максим in Laravel Pro
+
источник

А

Алексей in Laravel Pro
кстати я думал with работает через джойн а не сабселект... нужно будет поковыряться в сорцах...
источник

М

Максим in Laravel Pro
select ... where in
источник

А

Алексей in Laravel Pro
аааа...
источник