Mysql模糊查询优化

目的:mysql模糊查询优化

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

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

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

	SELECT * FROM test  where instr(name,'keyword') > 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`);

版权声明:本文为qq_31263039原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。