SQL Как оператор с сопоставлением в процентах - PullRequest
0 голосов
/ 28 января 2020

Я создаю поисковый запрос примерно так

select * from tbl_cities where city_name like "%du%"

Но у меня в таблице city столько данных. Так что время обработки слишком велико. Есть ли способ получить точные совпадения, например процентное совпадение, чтобы минимизировать возвращаемый размер массива и, следовательно, время обработки.

Например, у меня есть "дубай" и "дубай Марина " в таблице. И запрос будет возвращать оба. Я хочу только " Дубай ", потому что это соответствует большему проценту.

Ответы [ 2 ]

1 голос
/ 28 января 2020

Пожалуйста, попробуйте этот способ.

select * from tbl_cities where city_name like "d%i"

this d%i Находит любые значения, которые начинаются с "d" и заканчиваются на "i", например dubai.

0 голосов
/ 28 января 2020

Вы можете попробовать RLIKE вместо LIKE. RLIKE немного быстрее.

select * from tbl_cities where city_name rlike "^du"
...