MySQL:ORDER BY 或 GROUP BY 慢?

标签 mysql performance optimization

我在 MySQL 数据库中有一个表,其中记录了某些事件。我现在想知道某个实体域在过去一小时内发生的事件最少:

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

最佳答案

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

关于MySQL:ORDER BY 或 GROUP BY 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16262474/

相关文章:

python - Pandas pd.Series.isin的性能与数组和数组的关系

python - 使用 REPA 优化 haskell 中的平均图像颜色程序

JavaScript 优化

c++ - g++ 对 -Ofast 做了哪些额外的优化?

c# - 这些性能数字 : Arrays vs Lists C# 背后的基本原理

javascript - AngularJS - 在哪里放置第三方插件默认值?

PHP/MySQL 多关键字复杂搜索

iphone - 验证 iPhone http 请求

php - 识别哪个单选按钮被选中并使用 php

php - 如何在 PHP 中删除变量的双引号以进行 SQL 查询