powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Медленная скорость запроса
5 сообщений из 5, страница 1 из 1
Медленная скорость запроса
    #32474278
AlexPretov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, помогите разобраться почему запрос
Код: plaintext
 select * from F left join A on F.Addr between A.AddrBegin and A.AddrEnd;
отработает очень долго?

Таблица А проиндексирована по полям AddrBegin и AddrEnd:
Код: plaintext
create index AddrBE on A (AddrBegin, AddrEnd);
Команда Explain пишет, что оптимизатор будет использовать инлекс и.... тормоза.

Если таблицу А преобразовать в перечисление адресов, то запрос
Код: plaintext
 select * from F left join A on F.Addr = A.Addr;
отработает на ура.

________________
С уважением, Alex Pretov
...
Рейтинг: 0 / 0
Медленная скорость запроса
    #32475883
cid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так
select * from F left join A on (F.Addr = A.Addr)
where
between A.AddrBegin and A.AddrEnd;
думаю поможет, а то без where как то плохо :)
...
Рейтинг: 0 / 0
Медленная скорость запроса
    #32476154
AlexPretov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет. смысл в том что в первом запросе выбираются все записи с адресами, которые попадают в диапазон от AddrBgin до AddrEnd
а во втором, этот диапазон просто разворачивается в перечисление внешней утилитой (я пока ничего другого не предумал) и уже по прямому соответсвию я и получаю искомое подмножество.

________________
С уважением, Alex Pretov
...
Рейтинг: 0 / 0
Медленная скорость запроса
    #32476223
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй построить два индекса: один по beginaddr а второй по endaddr
...
Рейтинг: 0 / 0
Медленная скорость запроса
    #32478964
AlexPretov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guestпопробуй построить два индекса: один по beginaddr а второй по endaddr
не помогает. такая же медленная скорость. Сложный запрос для того чтобы он запись находил по beginaddr а значение endaddr считывал уже с индекса
________________
С уважением, Alex Pretov
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Медленная скорость запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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