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

有一张表,500W条记录,4个字段如下:
idintprimarykey
ipint
class_avarchar
class_bvarchar
需要执行的查询语句结果是:
SELECTclass_a,class_b,count(DISTINCTip)FROMtableGROUPBYclass_a,class_b
目前按照上述语句执行,性能几乎为零。
求大神给点优化意见。
ip,class_a,class_b都加过索引了。
函数式编程
浏览 341回答 2
2回答

慕桂英4014372

ucouldaddcommonlyindex,eg:"alerttabledbname.tableaddindex(classa,classb)",andyoucanuseexplaintosynatx.

慕哥6287543

针对你的sql,按我的理解,建复合索引(classa,classb,ip),explain应该可以看到Usingindexforgroup-by,这样就可以走覆盖索引.否则...还不如直接Usingtemporary;Usingfilesort
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript