1

我在 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 秒。有没有办法显着加快速度?难道我做错了什么?

4

1 回答 1

1

编辑表并在 domain_id、event_type 上创建索引。

于 2013-05-06T07:44:09.413 回答