|
|
|
Когда дешевле джойнить самому?
|
|||
|---|---|---|---|
|
#18+
Есть две большие таблицы. Выборка идет по одной, а из другой мы джойним лефтом, то есть если есть - ок, если нет - и фиг с ним. Вопрос: есть ли смысл вместо того, чтобы джойнить, сначала просто выполнить запрос по первой таблицы и получить первые 30 значений (limit 30), а затем сделать второй запрос ко второй таблице с запросом конкретных номеров в стиле where id in (5, 6, 12, 54, 34, 54) Я не совсем представляю что там происходит под капотом во время джоинов и настолько они дороги по нагрузке... Может действительно разбиение на два таких отдельных запроса будет сильно дешевле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2015, 22:06:01 |
|
||
|
Когда дешевле джойнить самому?
|
|||
|---|---|---|---|
|
#18+
Никто не мешает в одном запросе сначала ограничить выборку, а потом джойнить к ней дополнительные таблицы. Имхо, это наилучший вариант, если в рамках логики запроса он возможен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2015, 01:06:18 |
|
||
|
Когда дешевле джойнить самому?
|
|||
|---|---|---|---|
|
#18+
miksoft, блин, круто!! в похоже вошел уже в стадию, которая называется, чем больше я знаю, тем больше я понимаю, как много я на самом деле не знаю...))) лефт джоин к вложенному селекту - это реально круто и гениально!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2015, 01:35:59 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39050118&tid=1832726]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 327ms |

| 0 / 0 |
