Nie wierzę, że MySQL można zmusić do używania indeksów do operacji bitowych.
Jest trochę dyskusji na ten temat na forum MySQL Performance:http://forums.mysql. com/read.php?24,35318 („Czy możliwe jest skanowanie indeksów z porównaniem bitowym?”), gdzie pracownik MySQL sugeruje rozwiązanie oparte na posiadaniu tabeli z jednym wierszem na parę (rzecz, zestaw-bit) i wykonaniu wielu złączeń. Domyślam się, że to, jak dobrze to działa, będzie w dużej mierze zależeć od twojej konkretnej aplikacji.
Według http://dev.mysql.com/tech -resources/articles/mysql-set-datatype.html
indeksy nie są przydatne do wykonywania tego samego rodzaju operacji na SET
wartości (które są implementowane za pomocą liczb całkowitych i operacji bitowych). Myślałem, że gdyby istniała jakakolwiek sprytna optymalizacja indeksu dla operacji bitowych, zostałaby już zastosowana do SET
s.