Ogólnie filtry wyboru mogą używać indeksów w user_id lub activity_type_id lub obie (w dowolnej kolejności).
Operacja zamawiania może być w stanie użyć filtra na created_at .
Jest prawdopodobne, że dla tego zapytania indeks złożony na (user_id, activity_type_id) dałby najlepszy wynik, zakładając, że MySQL może z niego skorzystać. Jeśli to się nie uda, prawdopodobnie lepiej będzie zindeksować user_id niż activity_type_id ponieważ prawdopodobnie zapewni lepszą selektywność. Jednym z powodów, dla których należy sądzić, że będą 4 podsekcje indeksu do przeskanowania, jeśli używa on indeksu activity_type_id , w porównaniu z tylko jedną podsekcją do przeskanowania, jeśli używa indeksu w user_id sam.
Próba polegania na indeksie dla porządku sortowania prawdopodobnie oznacza pełne skanowanie tabeli, więc jest mniej prawdopodobne, aby była korzystna. Nie utworzyłbym indeksu na created_at wesprzeć to zapytanie; mogą pojawić się inne zapytania, w których byłoby to korzystne.