mysql的group by优化

问题描述:在一个单表的分组查询中,group by字段使用了临时表导致性能较慢

SELECT 
          id,http_url,count(1) as callCount,sum(IF((`status`='200'),1,0)) as successNum,
          sum(IF((`status`!='200'),1,0)) as failNum, avg(responseTime) as avgResponseTime
       FROM http_log_info
       WHERE system_cd = 'CCRC'
       AND begin_time BETWEEN '2020-03-16' AND '2020-04-17'
     and delete_flag = 0
       group by http_url

表结构如下:


表结构.png

索引:


索引.png

explain分析结果,group by 之后使用临时表,看Extra中Using temporary
sql分析.png

优化方案各位多指导

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容