开发者社区> 问答> 正文

mysql优化问题?

问题描述:单表1数据30多万,单表2近40万,单表3 20多条数据,加了索引后,进行了不同连接的分析,left join
right join , join ,有一个30多万的表基本上是rows就是总行数,其他的二个表,rows都是1,进行分组统计,rows行是30多万的,查询速度第一次大概在1s左右,第二次以后查询大概是0.6s左右,估计是mysql的缓存机制,见图:QQ_20161207101343

想问的是这种还能进行优化吗?这种查询速度是否是正常的?第三,是不是mysql涉及到分组统计的时候,都会生成临时表,并做排序?

展开
收起
boce 2016-12-07 10:17:38 2587 0
2 条回答
写回答
取消 提交回答
  • 一般mysql优化都是从索引入手的,但是索引这块水太深了。。。
    集合的操作大部分都很快的,应该不会有啥影响,我感觉问题还在索引这里,1s的话说心里话还是有些慢,如果是接口,考虑上通信解析和读写,搞不好一个接口的rt会超过3s。
    如果explain没啥问题,可以先缩小一下连接时左右的表的规则,一点一点排查,如果能部分关联,就别把两张整表去关联,毕竟数据库都是一条一条操作的,表大了join的速度也会慢。
    确定了join的问题还是索引的问题,后面的就好说了

    2019-07-17 20:31:55
    赞同 展开评论 打赏
  • 求大神指点一下

    2019-07-17 20:31:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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

相关镜像