Você precisa ter um índice em ambos os campos
ALTER TABLE alert_hit ADD INDEX `IDX-alert_id-timestamp` (`alert_id`, `timestamp`);
Além disso, o MySQL usará o índice de várias colunas até o primeiro campo para o qual há uma condição de intervalo na cláusula WHERE, portanto, neste caso, a ordem importa e o
timestamp
deve ser o último no índice. Conforme sugerido por @spencer7593 selecionando
COUNT(1)
em vez de count(id)
também pode ser melhor.