Musisz mieć jeden indeks w obu polach
ALTER TABLE alert_hit ADD INDEX `IDX-alert_id-timestamp` (`alert_id`, `timestamp`);
Również MySQL użyje indeksu wielokolumnowego aż do pierwszego pola, dla którego istnieje warunek zakresu w klauzuli WHERE, więc w tym przypadku kolejność ma znaczenie i timestamp powinien być ostatni w indeksie.
Zgodnie z sugestią @spencer7593 wybierając COUNT(1) zamiast count(id) może być również lepszy.