哪个更好?在Mysql查询的where子句中找到或喜欢%

时间:2011-10-24 18:39:52

标签: mysql sql-like

  

可能重复:
  MySQL LIKE vs LOCATE

我需要编写一个Mysql查询,根据列中的字符串选择行。假设该列名为TestColumn。我需要在列中的任何位置选择包含'stackoverflow'的所有行。使用

会更好吗?
Select * from testtable where TestColumn like '%stackoverflow%'

Select * from testtable where Locate('stackoverflow', TestColumn)>0

哪会带来更好的表现?提前谢谢。

2 个答案:

答案 0 :(得分:0)

这对LIKE来说确实是一个问题。当子串的位置很重要时,应该使用LOCATE

答案 1 :(得分:-1)

%比函数调用好。 %将使用全文索引(如果存在)。功能调用不是这种情况。