加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

如何利用工具,迅猛定位低效SQL? | 1分钟系列

发布时间:2019-07-26 15:49:40 所属栏目:MySql教程 来源:58沈剑
导读:副标题#e# 《两个工具分析SQL死锁》 《SQL空值带来的大坑》 两个案例分析,展现了MySQL性能分析工具explain的强大。 《同一个SQL语句,为啥性能差异咋就这么大呢?》 详细叙述了explain结果中最重要的type字段(连接类型)的含义。 其实,explain结果中还有一

实验语句:

  1. explain select * from user where id in(select id from user where sex='no'); 

结果说明:

Extra为Using join buffer (Block Nested Loop)说明,需要进行嵌套循环计算。

画外音:内层和外层的type均为ALL,rows均为4,需要循环进行4*4次计算。

这类SQL语句性能往往也较低,需要进行优化。

典型的,两个关联表join,关联字段均未建立索引,就会出现这种情况。常见的优化方案是,在关联字段上添加索引,避免每次嵌套循环计算。

结尾:

explain是SQL优化中最常用的工具,搞定type和Extra,explain也就基本搞定了。

  • 《MySQL explain,type分析》进行了常见type分析
  • 本文进行了常见Extra分析
  • 《两个工具分析SQL死锁》和《SQL空值带来的大坑》是两篇典型案例分析
  • 《MyISAM与InnoDB的索引差异》是InnoDB和MyISAM索引差异分析
  • 《数据库索引,到底是什么做的?》是索引底层实现分析

以上几篇文章,强烈建议大家读透。

【本文为51CTO专栏作者“58沈剑”原创稿件,转载请联系原作者】

如何利用工具,迅猛定位低效SQL? | 1分钟系列

戳这里,看该作者更多好文

【编辑推荐】

  1. 干货 | MySQL数据库安全之审计
  2. MySQL:硬盘在24 * 7工作中罢工了,我该怎么办?
  3. 用Go构建一个SQL解析器
  4. 同一个SQL语句,为啥性能差异这么大呢?(1分钟系列)
  5. 两个小工具,MySQL死锁分析,新技能又Get!
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读