我在where子句中有多个regexp查询。where子句中包含的列已被编入索引。但是查询没有使用索引。MySql正则表达式是否会导致索引的使用?如果不是,解决此问题的方法是什么?
发布于 2010-05-11 14:11:58
不,正则表达式查找不能使用索引。如果您要对其应用正则表达式的是一个索引,那么它可能会更快一些,但您实际上是在进行表扫描。
我知道的唯一解决办法是使用LIKE 'foo%'而不是RLIKE 'foo.*',如果这是您的正则表达式。此类列上的索引可以使用LIKE,但不能使用RLIKE
https://stackoverflow.com/questions/2808371
复制相似问题