I have query having multiple regexp in where clause. The coloumns contained in the where clause have already been indexed.
But the query is not using the indexes.
Does MySql regexp cause use of indexes ? If not, what could be the workaround for this ?
解决方案
No, a regular expression lookup can't use an index. If the thing to which you're applying the regex is an index, it might go a bit faster, but you're essentially table scanning.
The only workaround I know is to use LIKE 'foo%' instead of RLIKE 'foo.*' if that's your regex. An index on such a column can use the LIKE but not the RLIKE