Explain执行计划解析

准备工作
  • 关闭数据库缓存后再执行explain,否则缓存会影响执行效果的观察
关键字段
select_type
  • SIMPLE:简单查询
  • SUBQUERY:包含子查询
  • DERIVED:列表中包含子查询
  • UNION:包含结果合并
type
  • ALL:全表扫描
  • index:全索引扫描
  • range:有范围的查询
  • ref:以普通索引为基础的查询,可能会有回表操作
  • eq_ref:以唯一索引为基础的查询
  • const:查询常量
possible_keys:理论上使用的索引
key:实际使用的索引
key_len:索引使用的字节数
rows:总共扫描的行数
extra
  • Using index:使用的覆盖索引,不需要回表查询
  • Using where:先读数据,后过滤
  • Using tempory:使用临时表
  • Using filesort:对查询的结果按照非索引列排序
如何分析?
  • 1.观察扫描总行数rows,如果这个数量比较大,则需要增加必要的范围查询,或者减少表的join的操作

  • 2.观察是否存在回表操作,尽量消除回表

  • 3.观察是否使用了索引覆盖,尽量使用索引覆盖

  • 4.观察是否使用了联合索引,联合索引是否生效,调整SQL语句使联合索引生效

优化器的SQL优化原则
  • 当优化器基于成本计算后,认为SQL需要做全表扫描才能满足查询目标的时候,它就会进行全表的扫描。

解析explain执行计划相关推荐

  1. Mysql高级调优篇——第二章:Explain执行计划深度剖析

    1.Mysql Query Optimizer 这个名称在前言部分我在Mysql的整体架构中介绍过,称为查询优化器:这个查询优化器在绝大多数的公司,是不会做任何修改和扩展的,因为业务不需要,大牛请不起 ...

  2. 一文读懂 MySQL Explain 执行计划

    一.前言 上周老周的一个好朋友让我出一篇教你读懂 SQL 执行计划,和我另一位读者反馈的面试题如何排查慢 SQL 的强相关,索性先出一篇一文读懂 MySQL Explain 执行计划.Explain ...

  3. 面试官:不会看 Explain执行计划,简历敢写 SQL 优化?

    来自:程序员内点事 昨天中午在食堂,和部门的技术大牛们坐在一桌吃饭,作为一个卑微技术渣仔默默的吃着饭,听大佬们高谈阔论,研究各种高端技术,我TM也想说话可实在插不上嘴. 聊着聊着突然说到他上午面试了一 ...

  4. MySQL 优化必经之路, Explain执行计划 ?

    索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本.MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的.My ...

  5. MySQL高级 之 explain执行计划详解

    使用explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的,分析你的查询语句或是表结构的性能瓶颈. explain执行计划包含的信息 其中最重要的字段为:i ...

  6. MySQL 优化:Explain 执行计划详解

    昨天中午在食堂,和部门的技术大牛们坐在一桌吃饭,作为一个卑微技术渣仔默默的吃着饭,听大佬们高谈阔论,研究各种高端技术,我TM也想说话可实在插不上嘴. 聊着聊着突然说到他上午面试了一个工作6年的程序员, ...

  7. Explain执行计划详解

    作者:IT王小二 博客:https://itwxe.com 一条查询 SQL 语句为什么会执行很慢?执行的时候走了什么索引?多表查询的时候 SQL 大体执行流程是怎么样的?Explain 执行计划详解 ...

  8. Mysql explain 执行计划之type详解

    EXPLAIN执行计划中type字段分为以下几种: ALL         INDEX         RANGE         REF         EQ_REF         CONST,S ...

  9. 详述-Explain执行计划

    昨天中午在食堂,和部门的技术大牛们坐在一桌吃饭,作为一个卑微技术渣仔默默的吃着饭,听大佬们高谈阔论,研究各种高端技术,我TM也想说话可实在插不上嘴. 聊着聊着突然说到他上午面试了一个工作6年的程序员, ...

最新文章

  1. 关于C语言中 字符串常量的问题
  2. 深入浅析zookeeper的一致性模型及其实现
  3. 67 Airflow配置MySQL数据库和LocalExecutor
  4. 清华大学计算机李雪,李雪 | 北京外国语大学国际商学院|International Business School,BFSU|本硕博,北外留学,来华留学Solbridge,EDP...
  5. 前端页面速度统计方法
  6. Java虚拟机学习(1):体系结构 内存模型
  7. 【题解】 [HEOI2016]排序题解 (二分答案,线段树)
  8. TypeError: ‘BasePermissionMetaclass‘ object is not iterable
  9. Vue.js入门系列教程(二)
  10. Webpack之插件html webpack plugin
  11. Python类的成员
  12. ios中蓝牙自动连接出现硬件提示框的问题
  13. 基于route-map的策略路由
  14. Python练手项目:计算机自动还原魔方(1)顶部十字
  15. 2.1 被隐藏了的过程
  16. (function(){})()后面的()含义
  17. 打印俄文字母表java,俄语字母与英语字母对照表
  18. 服务器存储hba卡直连,hba卡直连存储_fc hba卡之间如何连接_hba卡怎么连存储(5)
  19. php 的安装目录在哪,怎样查看PHP的安装目录和详细信息
  20. stem教育的什么意思

热门文章

  1. EWASM Gas Costs——gas 计算
  2. EtherCAT (学习笔记)
  3. 华为、字节跳动、蔚来、康师傅、法雷奥、AIG等公司高管变动
  4. 案例 | 巴别鸟为弘睿构建企业知识库
  5. 小程序体积优化(1)--优化大文本
  6. 北漂三年多 我选择离开,眼神更加坚定!
  7. Ajax的简历技能如何写,web前端开发工程师简历专业技能怎么写
  8. linux “<“ 会引发血案
  9. 第二阶段javaweb-day01-mqsql基础
  10. 宝元系统通讯软件recon_企业即时通讯系统拥有哪些二次开发能力?