如上所述,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时的一般no-no。
除非您在索引列上进行前缀搜索:
mysql> select COUNT(ID) FROM table WHERE Name LIKE 'search%';
+-----------+
| COUNT(ID) |
+-----------+
| 7 |
+-----------+
1 row in set (3.88 sec)
在这种情况下,只有一个后缀通配符的LIKE要快得多。