开发者社区> 问答> 正文

一个mysql查询的优化问题

SELECT COUNT(1) as num,uid,sid,username FROM sd_users GROUP BY sid HAVING num >1 ORDER BY num DESC
在实际测试中发现由于数据量超过60万在group的时候就产生了巨大的威胁力,查询执行缓慢
一直停留在copy tmp table下
explain发现需要重建索引导致请问类似的语句应该如何优化
6

展开
收起
蛮大人123 2016-02-07 10:39:55 2213 0
2 条回答
写回答
取消 提交回答
  • 啊啊啊啊

    2019-07-17 18:38:54
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    没走索引,全表扫描外加临时表 排序 最起码要有个sid的索引吧。有了sid的索引之后:另外你这个语句里的uid,username确定有意义么?同一个sid里面的uid,username都一样?如果去掉uid,username的话,这个sql就只走索引不会去回表应该有比较大的提升。

    2019-07-17 18:38:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像