表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度(key_len显示的值为索引字段的最大可能长度,并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的)

不损失精确性的情况下,长度越短越好


ref

表示上述表的连接匹配条件,即哪些列或常量被用于查找索引列上的值


rows

表示MySQL根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数


Extra

该列包含MySQL解决查询的详细信息,有以下几种情况:

Using where:列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候,表示mysql服务器将在存储引擎检索行后再进行过滤

Using temporary:表示MySQL需要使用临时表来存储结果集,常见于排序和分组查询

Using filesort:MySQL中无法利用索引完成的排序操作称为“文件排序”

Using join buffer:改值强调了在获取连接条件时没有使用索引,并且需要连接缓冲区来存储中间结果。如果出现了这个值,那应该注意,根据查询的具体情况可能需要添加索引来改进能。

Impossible where:这个值强调了where语句会导致没有符合条件的行。

Select tables optimized away:这个值意味着仅通过使用索引,优化器可能仅从聚合函数结果中返回一行


总结

• EXPLAIN不会告诉你关于触发器、存储过程的信息或用户自定义函数对查询的影响情况

• EXPLAIN不考虑各种Cache

• EXPLAIN不能显示MySQL在执行查询时所作的优化工作

• 部分统计信息是估算的,并非精确值

• EXPALIN只能解释SELECT操作,其他操作要重写为SELECT后查看执行计划

转载于:https://www.cnblogs.com/caicz/p/11009432.html

MySQL Explain命令详解--表的读取顺序,数据读取操作的类型等相关推荐

  1. mysql查询优化explain命令详解

    转载自 mysql查询优化explain命令详解 mysql查询优化的方法有很多种,explain是工作当中用的比较多的一种检查方式.explain翻译即解释,就是看mysql语句的查询解释计划,从解 ...

  2. MySQL调试--explain命令详解

    原文网址:MySQL调试--explain命令详解_IT利刃出鞘的博客-CSDN博客 简介 本文介绍MySQL的explain命令的用法及其结果的含义. explain作用 概述 在 SELECT 语 ...

  3. MySQL explain结果详解

    Mysql Explain 结果详解 语法 explain < SQL statement> 例如: explain select * from t3 where id=3952602; ...

  4. linux mysql 确认命令_LINUX启动/重启/停上MYSQL的命令(详解)

    如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld sta ...

  5. linux启动mysql命令_LINUX启动/重启/停上MYSQL的命令(详解)

    如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld sta ...

  6. mysql执行计划命令_【MySQL】EXPLAIN命令详解--解释执行计划

    具体参考: 原文如下: 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索 ...

  7. MySQL中EXPLAIN命令详解

    EXPLAIN显示了MySQL如何使用索引来处理SELECT语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上EXPLAIN就可以了: 如: EXPLA ...

  8. mysql explain desc_MySQL中EXPLAIN命令详解

    explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了: 如: mysql ...

  9. EXPLAIN 命令详解

    转自:https://www.cnblogs.com/gomysql/p/3720123.html 在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个S ...

最新文章

  1. JavaScript基础(三)流程控制
  2. (0070)iOS开发之AVFoundation枚举属性注解
  3. 仿iphone日历插件(beta)
  4. Python列表的常用方法
  5. LOJ dfs序1234
  6. 罗永浩回归!将开秋季旧机发布会:与iPhone 12同一天
  7. 《Java程序设计》第16周周四:GUI编程及文件对话框的使用
  8. 利用pandas处理二级office的Excel试题(一)
  9. Android:Java集合面试题集锦
  10. python微信刷屏_微信偷偷更新,这功能彻底没了
  11. docker-compose up -d --build不会更新镜像;什么时候容器会变更
  12. 【推荐】万物兴歇——衰老与寿命的演化
  13. 编译原理 LL1文法的判断和句子识别
  14. BitLocker解锁之后加锁
  15. win10系统怎么合并电脑分区?
  16. 用科学计算机求arctan,计算器arctan怎么按
  17. 用SQL语句创建数据库和表
  18. Java IOS客户端上传多张图片到服务端
  19. python中的标准模块有哪些_下面哪些模块属于Python标准库模块
  20. 计算机管理损坏的图像,win7系统提示损坏的图像的解决方法

热门文章

  1. 关于工厂创建问题,一个纠结的终结源于KFC
  2. “找不到网络路径”的检测方法及解决方案
  3. 小程序登录及用户信息和手机号的获取
  4. 笔记:Gitlab-CI部署流程
  5. Docker基础(3)——基础网络模型
  6. (林雷看来13):功能优先,发展和重建同步,业绩后
  7. 《你必须知道的.NET》--简易不简单:认识枚举(Ⅲ)
  8. Eclipse下Pydev在线安装失败及解决办法
  9. 解决VMware Tools installation cannot be started manually while Easy Install is in progress.
  10. cassandra学习笔记四