Obecně platí, že filtry výběru mohou používat indexy na user_id nebo activity_type_id nebo obojí (v libovolném pořadí).
Operace objednávky může být schopna použít filtr na created_at .
Je pravděpodobné, že pro tento dotaz bude složený index na (user_id, activity_type_id) by poskytlo nejlepší výsledek za předpokladu, že jej MySQL skutečně dokáže využít. Pokud se tak nestane, bude pravděpodobně lepší indexovat user_id než activity_type_id protože pravděpodobně poskytuje lepší selektivitu. Jedním z důvodů, proč si to myslet, je, že pokud by index používal index na activity_type_id, byly by k dispozici 4 podsekce indexu ke skenování , ve srovnání s pouze jednou podsekcí pro skenování, pokud používá index na user_id sám.
Pokus spolehnout se na index pro pořadí řazení pravděpodobně znamená úplné prohledání tabulky, takže je méně pravděpodobné, že bude přínosný. Nevytvářel bych index na created_at na podporu tohoto dotazu; mohou existovat další dotazy, kde by to bylo přínosné.