Доброго времени суток,
встала необходимость построить запрос где будет много like:
...colm like 'str1%' or colm like 'str2%' or colm 'str3%' or colm like 'str4%'...
и так от 1 до 500 раз в зависимости от установок пользователя. При дублировании "or colm like " занимает довольно много места и возрастает количество инфы посылаемой на удаленный mysql сервер. Есть ли вариант сократить запроск примеру к синтаксису похожему на in(‘str1%’,‘str2%’…)?
Пробовал REGEXP - но он очень медленный:
select * from tbl where colm REGEXP '^str1|^str2' order by rand() limit 20;.......20 rows in set (28.51 sec)select * from tbl where colm like "str1%" or colm like "str2%" order by rand() limit 20;.......20 rows in set (2.90 sec)