Bạn cần có một chỉ mục trên cả hai trường
ALTER TABLE alert_hit ADD INDEX `IDX-alert_id-timestamp` (`alert_id`, `timestamp`);
Ngoài ra, MySQL sẽ sử dụng chỉ mục nhiều cột cho đến trường đầu tiên có điều kiện phạm vi trong mệnh đề WHERE, vì vậy trong trường hợp này, thứ tự quan trọng và timestamp
phải ở cuối cùng trong chỉ mục.
Theo đề xuất của @ spencer7593, hãy chọn COUNT(1)
thay vì count(id)
cũng có thể tốt hơn.