【Mysql】慢sql分析优化案例汇总

【Mysql】慢sql分析优化案例汇总

(一)案例一:阿里云慢sql挑战赛实战

190毫秒干到2毫秒

【1】表结构
在这里插入图片描述
【2】待优化sql
在这里插入图片描述
【3】第一次explain分析
在这里插入图片描述
【4】选取驱动表
优先选择数据量最小的表作为驱动表。a表和c表都是只有一条数据,但是a表的sql里有gmt_create进行排序,可以在这个字段上添加索引,从索引的利用率上来看,用a表作为驱动表是最合适的。
在这里插入图片描述
【5】开始创建索引
将关联字段和查询字段创建联合索引,有效减少回表数据量
在这里插入图片描述

【6】再次执行explain
c表上的user_id的索引生效了,其他两个表的索引没有生效
在这里插入图片描述

【7】执行explain extended
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
【8】修改表结构,选择合适的字段
在这里插入图片描述

【9】最后explain看优化结果
之前索引失效是因为字段类型不一致而隐式转型导致的
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值