四百万行数据,GROUP BY 后统计,然后 DESC 排序后,还要分页
id 主键
user_id 用户 ID
date 创建日期
SELECT
user_id,
count(*) AS count
FROM
log
GROUP BY
date, user_id
ORDER BY
date DESC, user_id DESC
LIMIT 0, 10
以上 SQL 语句可以走索引,但是这时候如果要 count 字段进行排序,explain 就走全表了,执行了 1 分半,有其他办法优化吗?
SELECT
user_id,
count(*) AS count
FROM
log
GROUP BY
date, user_id
ORDER BY
count DESC, date DESC, user_id DESC
LIMIT 0, 10
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.