Nie jestem dogłębnie zaznajomiony z wewnętrznymi elementami indeksów w mySql, ale w przypadku dwóch znanych mi produktów dostawców baz danych (MsSQL, Oracle) indeksy są strukturami zrównoważonego drzewa, których węzły są zorganizowane jako sekwencjonowana krotka kolumn indeks jest zdefiniowany na (w zdefiniowanej sekwencji )
Tak więc, chyba że mySql robi to zupełnie inaczej (prawdopodobnie nie), każdy indeks złożony (w więcej niż jednej kolumnie) może być użytecznym dla każdego zapytania, które wymaga filtrowania lub sortowania według podzbioru kolumn w indeksie, o ile lista kolumn jest zgodna, tj. jeśli kolumny, ułożone w taki sam sposób, jak sekwencjonowana lista kolumn w pełnym indeksie, są uporządkowanym podzbiorem pełnego zestawu kolumn indeksu, który zaczyna się na początku aktualnej sekwencji indeksów, bez przerw z wyjątkiem końca...
Innymi słowy, oznacza to, że jeśli masz indeks na (a,b,c,d), zapytanie filtrujące (a), (a,b) lub (a,b,c) może również użyć indeksu , ale zapytanie, które wymaga filtrowania według (b), (c) lub (b,c) nie będzie mogło użyć indeksu...
Tak więc w Twoim przypadku, jeśli często musisz filtrować lub sortować według kolumny element sam, musisz dodać kolejny indeks do tej kolumny samodzielnie...