|
|
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
Ребят, помогите плиз переделать запрос с использованием IN на запрос с использованием JOIN Требуется это для того что бы я смог использовать LIMIT в JOIN'е Сам не могу понять как это сделать Исходный запрос Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 07:16:50 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
Расставьте ВЕЗДЕ алиасы таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 08:56:11 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
Но предположительно это будет Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 09:00:06 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
чуть по-другому :) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 10:19:17 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
Какая разница? все связывания - внутренние. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 10:24:36 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
AkinaКакая разница? все связывания - внутренние.Я думаю, план выполнения будет другим Могу ошибаться, я ж не оптимизатор MySQL К тому же к JOIN легко можно добавить LEFT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 10:31:54 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
Лень моделировать, но с достаточно большой вероятностью план будет одинаков. А если нет - опять-таки с большой вероятностью план моего запроса будет лучше, оптимизатор не так часто ошибается в выборе порядка связывания. Впрочем, на результат выполнения запроса это не повлияет. А вот заменить внутреннее связывание на левое нельзя - изменится логика запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 10:52:45 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
Ребят, помогите плиз переделать запрос с использованием IN на запрос с использованием JOIN Да зачем же ? Требуется это для того что бы я смог использовать LIMIT в JOIN'е Добавь LIMIT в подзапросе для IN, в чём проблема ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 11:48:52 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. Тебе надо было не так сформулировать вопрос. не "перепишите", а "напишите заново, нужно то-то и то-то". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 11:54:35 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
MasterZivв чём проблема ?"проблема" в том, что человек наслушался советов в духе "ин всегда быстрее джойна" применительно к мусклю это очень часто верно, но не всегда а если ещё и нужных индексов нет, то "переписывание ин на джойн" скорее всего вообще никак не поможет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 11:57:06 |
|
||
|
переделать IN на JOIN
|
|||
|---|---|---|---|
|
#18+
tanglirMasterZivв чём проблема ?"проблема" в том, что человек наслушался советов в духе "ин всегда быстрее джойна" применительно к мусклю это очень часто верно, но не всегда Применительно к SQL вообще никогда нельзя ничего сказать в дуже "ЭТО-1 всегда быстрее ЭТОГО-2" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 12:01:29 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38413928&tid=1835948]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 370ms |

| 0 / 0 |
