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

start [/forum/topic.php?fid=47&tablet=1&tid=1832726]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
16ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 371ms |

| 0 / 0 |
