在SQL上索引奇怪的通配符

时间:2016-09-16 12:15:21

标签: mysql database indexing rdbms varchar

我的查询包含LIKE "%BLABLA"。如果我添加索引,它会优化我的查询吗?如果是,群集和非群集B +树索引会改进我的查询吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

LIKE 'abc'= 'abc'非常相似; LIKE 'abc%'是一个“范围”,很可能是我们的索引;
LIKE '%abc'无法使用索引 - 因为前导通配符。

如果您想讨论可以为查询做些什么,请提供整个查询以及SHOW CREATE TABLE

答案 1 :(得分:1)

您可以将反转数据存储在另一个字段中,在该反转字段上添加索引并查询该反转字段。不使用LIKE '%abc',您将使用LIKE 'cba%',使用反转字段。