Jag tror inte att MySQL kan fås att använda index för bitvisa operationer.
Det finns en del diskussion om detta i MySQL Performance-forumet:http://forums.mysql. com/read.php?24,35318 ("Är indexskanningar möjliga med bitvis jämförelse?") där en MySQL-anställd föreslår en lösning baserad på att ha en tabell med en rad per (sak,set-bit) par och göra ett gäng joins. Jag skulle gissa att hur bra det här fungerar beror mycket på din specifika applikation.
Enligt http://dev.mysql.com/tech -resources/articles/mysql-set-datatype.html
index är inte till någon nytta för att göra samma typ av operationer på SET
värden (som implementeras med heltal och bitvisa operationer). Jag skulle ha trott att om det fanns någon smart indexoptimering för bitvisa operationer skulle den redan ha tillämpats på SET
s.