正如kibibu在上述评论中指出的,FULLTEXT搜索绝对会更快。
但是 :
mysql> select COUNT(ID) FROM table WHERe INSTR(Name,'search') > 0;+-----------+| COUNT(ID) |+-----------+| 40735 | +-----------+1 row in set (5.54 sec)mysql> select COUNT(ID) FROM table WHERe Name LIKE '%search%';+-----------+| COUNT(ID) |+-----------+| 40735 | +-----------+1 row in set (5.54 sec)
在我的测试中,它们的表现完全相同。它们都不区分大小写,并且通常会执行全表扫描,这在处理高性能MySQL时通常是禁忌。
除非您在索引列上进行前缀搜索:
mysql> select COUNT(ID) FROM table WHERe Name LIKE 'search%';+-----------+| COUNT(ID) |+-----------+| 7 | +-----------+1 row in set (3.88 sec)
在这种情况下,仅带有后缀通配符的LIKE要快得多。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)