MySQL LIKE 与 LOCATE:哪个性能更好?
数据库查询通常涉及在表列中搜索特定术语。用于此目的的两个常见运算符是 LIKE 和 LOCATE。本文旨在确定执行此类搜索时哪个运算符提供更好的性能。
LIKE 与 LOCATE
LIKE 运算符使用通配符 (%) 来匹配任意数量的人物。相比之下,LOCATE 运算符采用字符串并返回其在列中第一次出现的位置。
性能比较
基准测试显示 LIKE 运算符通常执行比 LOCATE 稍微快一些。这主要是因为 LIKE 不需要额外的比较(“> 0”)来确定匹配是否有效。
基准测试结果
使用基准测试经过 1 亿次迭代,性能比较得出以下结果:
Operator | Time (seconds) |
---|---|
LOCATE (without comparison) | 3.24 |
LOCATE (with comparison) | 4.63 |
LIKE | 4.28 |
结论
虽然 LIKE 和 LOCATE 之间的性能差异很小,但 LIKE 的出现是子字符串搜索的更有效选择。这一优势源于它能够避免 LOCATE 所需的额外比较。但是,需要注意的是,这些基准可能会根据具体的数据库版本和表大小而有所不同。
以上是## MySQL 中的 LIKE 与 LOCATE:子字符串搜索哪个更快?的详细内容。更多信息请关注PHP中文网其他相关文章!