У меня проблемы с LIKE
Оператор. Я создаю запрос которого ищет с как-то, например, я ищу улицу 34:Mysql multiple LIKE with "AND"
WHERE address LIKE '%Street%' AND address LIKE '%34%'
Проблема заключается в том, что если я пишу слишком длинный адрес MySQL запрос замедляет бесконтрольное вниз. Возможно ли быстрое решение? Я знаю, что есть операторы REGEXP
или IN
, но они ищут с помощью OR
, но мне нужно найти BY AND
.
ps: Почему я пишу несколько LIKE
? Потому что некоторые могут сообщать не «Улица 34», а «34-стрит».
Ваша таблица правильно проиндексирована? –
Я проиндексировал в BTREE то же самое, я проиндексировал FULLTEXT, тогда его поиск был только словами, но в моем случае лучше было бы искать после каждой буквы. Минимальные буквы начинаются с 3 –
Если операнд LIKE начинается с **% ** MySql cant, используйте INDEX. поэтому ваш запрос является ** ПОЛНЫМ ТАБЛИЦЫ СКАНИРОВАНИЯ ** и посмотреть, что написал @Romans Leonovs –