mysql模糊查询like优化

使用 like %value%不走索引

SELECT `column` FROM `table` WHERE `field` like '%keyword%';

1.可使用 like value% 前值匹配,可走索引

SELECT `column` FROM `table` WHERE `field` like 'keyword%';

2.使用mysql内置函数
查询内容在字段值中的位置

-- 查询keyword在field中的位置
SELECT `column` FROM `table` WHERE LOCATE('keyword', `field`)>0

-- 等同与上面的别名
SELECT `column` FROM `table` WHERE POSITION('keyword' IN `filed`)

-- 同别名
SELECT `column` FROM `table` WHERE INSTR(`field`, 'keyword' )>0 

说明:keyword表示需要匹配的内容,field为数据库字段

猜你喜欢

转载自blog.csdn.net/weixin_44684303/article/details/112023121