我在 MySQL DB 中有一个表,其中记录了某些事件。我现在想知道某个实体域在过去一小时内发生的事件最少:
SELECT entity_id, COUNT(entity_id) number
FROM event_log
WHERE domain_id=%s AND event_type='%s' AND time>DATE_SUB(NOW(), INTERVAL 1 HOUR)
GROUP BY entity_id
ORDER BY number ASC;
在一个大约有 300.000 行的表上,这个查询大约需要 3 秒。有没有办法显着加快速度?难道我做错了什么?