Vous devez avoir un index sur les deux champs
ALTER TABLE alert_hit ADD INDEX `IDX-alert_id-timestamp` (`alert_id`, `timestamp`);
De plus, MySQL utilisera l'index multi-colonnes jusqu'au premier champ pour lequel il existe une condition de plage dans la clause WHERE, donc dans ce cas, l'ordre est important et timestamp
devrait être le dernier dans l'index.
Comme suggéré par @ spencer7593 en sélectionnant COUNT(1)
au lieu de count(id)
peut-être aussi mieux.