|
|
|
Быстрые подзапросы почему-то замедляют весь запрос
|
|||
|---|---|---|---|
|
#18+
Есть запрос вида SELECT id FROM table WHERE (%составное условие%) and id NOT IN (%подзапрос%). То есть в условии для WHERE фигурирует составной запрос. Копирую отдельно подзапрос - он выполняется быстро. Вставляю в общий запрос вместо него NOT IN(1,2) - тоже всё быстро. Но запрос с подзапросом в WHERE выполняется очень долго. Просьба подсказать, в чем дело, как решить проблему. Неужели подзапрос выполняется для каждой строчки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2016, 18:47 |
|
||
|
Быстрые подзапросы почему-то замедляют весь запрос
|
|||
|---|---|---|---|
|
#18+
lantenТо есть в условии для WHERE фигурирует составной запрос. Опечатка: фигурирует подзапрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2016, 18:48 |
|
||
|
Быстрые подзапросы почему-то замедляют весь запрос
|
|||
|---|---|---|---|
|
#18+
Судя по описанию, подзапрос выполняется для каждой записи. Выведите его из WHERE и перенесите во FROM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2016, 18:51 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=109&tid=1832075]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 368ms |

| 0 / 0 |
