MySQL LIKE性能,增加了通配符



我需要在其中一列中找到一个嵌入的字符串,并在此基础上进行一些分类。

为此,我使用了LIKE语句,如下所示:

select * from table where column like "%_ABC_%"   (did not intend to use _ as a wildcard)

但这非常缓慢。后来,当我发现_也是MySQL中的通配符时,我删除了它,查询运行得更快。只是想知道对此是否有任何解释?

下划线(_)通配符表示单个字符,而百分号(%)表示0到N个字符的序列。RDBMS通常能够从中获利,并且使用下划线通配符进行搜索的速度更快。

百分号%表示0N个字符,下划线_表示单个字符。这意味着匹配%_ABC_%的字符串集合是匹配%ABC%的字符串集合的子集。MySQL引擎可以从中受益。

相关内容

  • 没有找到相关文章

最新更新