MySQL regexp on Indexes

时间:2010-05-11 05:57:40

标签: mysql

我在where子句中有多个regexp的查询。 where子句中包含的coloumns已被索引。 但查询不使用索引。 MySql regexp是否会导致使用索引?如果没有,那可能是什么解决方法呢?

1 个答案:

答案 0 :(得分:4)

不,正则表达式查找不能使用索引。如果您正在应用正则表达式的东西是索引,它可能会更快一点,但您实际上是表扫描。

我知道的唯一解决方法是使用LIKE 'foo%'代替RLIKE 'foo.*',如果这是你的正则表达式。这样一列的索引可以使用LIKE但不能使用RLIKE