类似mysql的性能,增加了通配符

2guxujil  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(260)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

去年关门了。
改进这个问题
我需要在其中一列中找到一个嵌入的字符串,并在此基础上进行一些分类。
为此,我用 LIKE 声明如下:

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

但这是非常缓慢的。后来我发现 _ 在mysql中也是一个通配符,我删除了它,查询运行得更快了。只是想知道有没有什么解释?

v6ylcynt

v6ylcynt1#

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

f3temu5u

f3temu5u2#

下划线( _ )通配符表示单个字符,而百分号( % )表示0到n个字符的序列。rdbms通常能够从中获利,使用下划线通配符的搜索执行得更快。

相关问题