开发者社区 问答 正文

500万条数据统计查询高性能方法

有一张表,500W条记录,4个字段如下:
id int primary key
ip int
class_a varchar
class_b varchar
需要执行的查询语句结果是:

SELECT class_a,class_b,count(DISTINCT ip) FROM table GROUP BY class_a, class_b

目前按照上述语句执行,性能几乎为零。 求大神给点优化意见。

ip, class_a, class_b 都加过索引了。

展开
收起
蛮大人123 2016-02-08 12:04:36 3194 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    针对你的sql, 按我的理解, 建复合索引(classa, classb, ip), explain应该可以看到Using index for group-by, 这样就可以走 覆盖索引. 否则... 还不如直接Using temporary; Using filesort

    2019-07-17 18:39:34
    赞同 展开评论
问答分类:
问答地址: