powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Обработка вложенного запроса
3 сообщений из 3, страница 1 из 1
Обработка вложенного запроса
    #39329825
UberLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Товарищи, помогите советом plz! Свой ник на этом форуме я выбрал изначально говорящим, дабы обозначить свою никчемность в DBA-шных делах. Проблема следующая:

На MySQL делаю запрос со вложенным селектом

select name from city_translations where city_id in (select id from cities where country_id = 6208)


Ну то есть запрашиваю названия городов по списку id-шников, который берется селектом городов по id определенной страны. Казалось бы, проще некуда.

Но запрос обрабатывается долго, хотя каких я только индексов не понастроил.

Explain (скрин прилагается) показывает, что вроде как основной запрос прожевывает всю таблицу city_translations (4271777 rows).

Как я понимаю, запрос со вложенным селектом выполняется по схеме "основной селект вытаскивает всю таблицу, а потом происходит уточнение по вложенному".
Если же вместо вложенного селекта просто натыкать id-шников, то все происходит быстро и по индексам.

Как с этим бороться?
...
Рейтинг: 0 / 0
Обработка вложенного запроса
    #39329902
retvizan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UberLamer,

проблема в том, что подзапрос ошибочно трактуется как зависимый, т.е. выполняется для каждой строки внешнего запроса.
Решение:
1. обновиться до MariaDB 5.3/MySQL 5.6
2. переписать запрос через JOIN
...
Рейтинг: 0 / 0
Обработка вложенного запроса
    #39330001
UberLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
retvizan,

Спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Обработка вложенного запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]