[mysql] 模糊查询的几种写法


目的:mysql模糊查询优化

	select* from test where name like '%keyword%';

使用like关键词不会用到索引,查询效率也比较低

优化如下:使用instr,position,locate函数

	SELECT * FROM test  where instr('keyword',name) > 0;

	SELECT * FROM test  where position('keyword' in name) ;

	SELECT * FROM test  where locate('keyword',name) > 0;

除了上述的方法外,还有一个函数FIND_IN_SET(str1,str2),返回str2中str1所在的位置索引,其中str2必须以","分割开。

select * from test where FIND_IN_SET('say',`name`);


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM