Можно ли оптимизировать запрос с LIKE - MySQL
Формулировка задачи:
Вот есть такой запрос:
Можно ли как то его оптимизировать к примеру через IN?
Заранее благодарю.
SELECT * FROM TABLE WHERE Address NOT LIKE '%Москва%' AND Address NOT LIKE '%МО%' AND Address NOT LIKE '%Моско%'
Решение задачи: «Можно ли оптимизировать запрос с LIKE»
textual
Листинг программы
SELECT * FROM TABLE WHERE LOWER(Address) NOT LIKE '%моск%' AND Address NOT LIKE '%МО%'
Объяснение кода листинга программы
В данном коде выполняется запрос к таблице TABLE
с условием, что поле Address
не содержит в нижнем регистре слово моск
и не содержит в верхнем регистре слово МО
.
- SELECT * - выбираются все поля из таблицы
TABLE
. - FROM TABLE - указывается название таблицы, к которой выполняется запрос.
- WHERE LOWER(Address) NOT LIKE '%моск%' AND Address NOT LIKE '%МО%' - задается условие для выборки, которое состоит из двух частей:
- LOWER(Address) NOT LIKE '%моск%' - поле
Address
в нижнем регистре не должно содержать словомоск
. - Address NOT LIKE '%МО%' - поле
Address
не должно содержать в верхнем регистре словоМО
.
- LOWER(Address) NOT LIKE '%моск%' - поле
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д