高效的 MySQL 字符串包含:超越 substr()
MySQL 通常需要检查列字符串 ($haystack
) 是否包含特定子字符串 ($needle
)。虽然可以考虑使用 substr()
函数,但它仅验证字符串开头的精确匹配。
最优解:LIKE
和通配符
更好的方法涉及 MySQL 的 LIKE
运算符进行模式匹配。 此查询有效地检查子字符串包含:
<code class="language-sql">SELECT * FROM `table` WHERE `column` LIKE '%{$needle}%'</code>
%
符号是通配符,匹配零个或多个字符。 因此,查询会识别任意位置 $haystack
包含 $needle
的任何行。
可扩展性的性能注意事项
将 LIKE
与通配符一起使用可能会影响大型数据集的性能。对于大量数据库,请考虑实施全文索引以显着提高此类字符串搜索的查询速度。
以上是如何高效地检查MySQL中的字符串包含情况?的详细内容。更多信息请关注PHP中文网其他相关文章!