可能重复:
MySQL LIKE vs LOCATE
我需要编写一个Mysql查询,根据列中的字符串选择行。假设该列名为TestColumn。我需要在列中的任何位置选择包含'stackoverflow'的所有行。使用
会更好吗?Select * from testtable where TestColumn like '%stackoverflow%'
或
Select * from testtable where Locate('stackoverflow', TestColumn)>0
哪会带来更好的表现?提前谢谢。
答案 0 :(得分:0)
这对LIKE
来说确实是一个问题。当子串的位置很重要时,应该使用LOCATE
。
答案 1 :(得分:-1)
%比函数调用好。 %将使用全文索引(如果存在)。功能调用不是这种情况。