powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом (LIKE, OR, AND...
3 сообщений из 3, страница 1 из 1
Помогите с запросом (LIKE, OR, AND...
    #32053476
Serge_Izh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, в чем ошибка ,
и как можно оптимизировать данный запрос?
Все работает хорошо без " OR ware LIKE %y% ".

SELECT DISTINCT firma.firma_name, firma.id_firma
FROM firma, ware, trading WHERE
ware LIKE '%fara%' OR ware LIKE '%bas%'
AND trading.id_ware=ware.id_ware
AND firma.id_firma=trading.id_firma
ORDER BY firma_name

Около минуты думает и потом выводит весь список .
...
Рейтинг: 0 / 0
Помогите с запросом (LIKE, OR, AND...
    #32053494
vi.k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
LIKE '%fara%'

MySQL не может воспользоваться индексами если в условии LIKE на первом месте стоит символ шаблона (%)

Ему приходится перебирать все строки и каждую сравнивать с шаблоном. Если действительно это так необходимо, то ничего не остаётся делать как ждать.

Но... MySQL сравнивает строки в порядке следования условий после WHERE.
В твоём случае должно помочь следующее:

Код: plaintext
1.
2.
3.
4.
5.
SELECT DISTINCT firma.firma_name, firma.id_firma 
FROM firma, ware, trading WHERE 
trading.id_ware=ware.id_ware 
AND firma.id_firma=trading.id_firma 
AND (ware LIKE '%fara%' OR ware LIKE '%bas%') 
ORDER BY firma_name 

... обрати внимание на скобки. У AND приоритет выше, чем у OR.
...
Рейтинг: 0 / 0
Помогите с запросом (LIKE, OR, AND...
    #32053619
Serge_Izh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо , так гораздо лучше!!!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом (LIKE, OR, AND...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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