I have a query which looks like:
select count(*) from m1
WHERE (m1.`resource` & 1472 );
Although I have index on resource it doesn\'t use
MySQL doesn't use indexes if it believes it has to perform calculations on each row in the table.
The only way to optimize these queries is to remove the calculation from the resource column. How you do that depends on what you want to achieve.
eg - This does not use index
where indexedCol*2 =6;
But this does -
where indexedCol =6/2;
Not sure if you can achieve that in your bitwise & operation though.