为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL单表500W条数据统计查询,求个高性能方法

MySQL单表500W条数据统计查询,求个高性能方法

函数式编程 2019-04-08 11:16:55
有一张表,500W条记录,4个字段如下:idintprimarykeyipintclass_avarcharclass_bvarchar需要执行的查询语句结果是:SELECTclass_a,class_b,count(DISTINCTip)FROMtableGROUPBYclass_a,class_b目前按照上述语句执行,性能几乎为零。求大神给点优化意见。ip,class_a,class_b都加过索引了。
查看完整描述

2 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

ucouldaddcommonlyindex,eg:"alerttabledbname.tableaddindex(classa,classb)",andyoucanuseexplaintosynatx.
                            
查看完整回答
反对 回复 2019-04-08
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

针对你的sql,按我的理解,建复合索引(classa,classb,ip),explain应该可以看到Usingindexforgroup-by,这样就可以走覆盖索引.
否则...还不如直接Usingtemporary;Usingfilesort
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 340 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信