哪个更快-INSTR还是LIKE?

哪个更快-INSTR还是LIKE?,第1张

哪个更快-INSTR还是LIKE?

正如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要快得多。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5062301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存