Debe tener un índice en ambos campos
ALTER TABLE alert_hit ADD INDEX `IDX-alert_id-timestamp` (`alert_id`, `timestamp`);
También MySQL usará el índice de múltiples columnas hasta el primer campo para el cual hay una condición de rango en la cláusula WHERE, por lo que en este caso el orden es importante y timestamp
debe ser el último en el índice.
Según lo sugerido por @spencer7593 seleccionando COUNT(1)
en lugar de count(id)
también podría ser mejor.