执行计划就是sql的执行查询的顺序,以及如何使用索引查询,返回的结果集的行数

EXPLAIN SELECT * from A where X=? and Y=?

  1. id :是一个有顺序的编号,是查询的顺序号,有几个 select 就显示几行。id的顺序是按 select 出现
    的顺序增长的。id列的值越大执行优先级越高越先执行,id列的值相同则从上往下执行,id列的值为
    NULL最后执行。

  2. selectType 表示查询中每个select子句的类型
    SIMPLE: 表示此查询不包含 UNION 查询或子查询
    PRIMARY: 表示此查询是最外层的查询(包含子查询)
    SUBQUERY: 子查询中的第一个 SELECT
    UNION: 表示此查询是 UNION 的第二或随后的查询
    DEPENDENT UNION: UNION 中的第二个或后面的查询语句, 取决于外面的查询
    UNION RESULT, UNION 的结果
    DEPENDENT SUBQUERY: 子查询中的第一个 SELECT, 取决于外面的查询. 即子查询依赖于外层查
    询的结果.
    DERIVED:衍生,表示导出表的SELECT(FROM子句的子查询)

  3. table:表示该语句查询的表

  4. type:优化sql的重要字段,也是我们判断sql性能和优化程度重要指标。他的取值类型范围:
    const:通过索引一次命中,匹配一行数据
    system: 表中只有一行记录,相当于系统表;
    eq_ref:唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配
    ref: 非唯一性索引扫描,返回匹配某个值的所有
    range: 只检索给定范围的行,使用一个索引来选择行,一般用于between、<、>;
    index: 只遍历索引树;
    ALL: 表示全表扫描,这个类型的查询是性能最差的查询之一。 那么基本就是随着表的数量增多,
    执行效率越慢。
    执行效率:
    ALL < index < range< ref < eq_ref < const < system。最好是避免ALL和index

  5. possible_keys:它表示Mysql在执行该sql语句的时候,可能用到的索引信息,仅仅是可能,实际不一
    定会用到。

  6. key:此字段是 mysql 在当前查询时所真正使用到的索引。 他是possible_keys的子集

  7. key_len:表示查询优化器使用了索引的字节数,这个字段可以评估组合索引是否完全被使用,这也是
    我们优化sql时,评估索引的重要指标

  8. ref:显示索引的哪一列被使用了,如果有可能是一个常数,哪些列或常量被用于查询索引列上的值

  9. rows:mysql 查询优化器根据统计信息,估算该sql返回结果集需要扫描读取的行数,这个值相关重
    要,索引优化之后,扫描读取的行数越多,说明索引设置不对,或者字段传入的类型之类的问题,说明
    要优化空间越大

  10. filtered:返回结果的行占需要读到的行(rows列的值)的百分比,就是百分比越高,说明需要查询到
    数据越准确, 百分比越小,说明查询到的数据量大,而结果集很少

  11. extra

  • using filesort :表示 mysql 对结果集进行外部排序,不能通过索引顺序达到排序效果。一般有
    using filesort都建议优化去掉,因为这样的查询 cpu 资源消耗大,延时大。
  • using index:覆盖索引扫描,表示查询在索引树中就可查找所需数据,不用扫描表数据文件,往
    往说明性能不错。
  • using temporary:查询有使用临时表, 一般出现于排序, 分组和多表 join 的情况, 查询效率不
    高,建议优化。
  • using where :sql使用了where过滤,效率较高。

mysql中的EXPLAIN相关推荐

  1. Mysql中的explain查看执行计划

    Mysql中的explain查看执行计划 1.explain是什么? 查看执行计划. 2.怎么使用? explain + sql语句. 3.执行计划包含的信息: id,select_type,tabl ...

  2. mysql中的 explain 关键字学习笔记

    explain 查看sql的执行计划,使用该关键字可以查看分析sql 语句在 mysql 中的执行步骤,索引的使用,可以检查该sql 语句和表结构的性能瓶颈,在sql 优化中工作可以说该关键字是相关开 ...

  3. 在 MySQL 中使用 explain 查询 SQL 的执行计划(转自: 数据分析与开发)

    **来源:Oo若离oO my.oschina.net/ruoli/blog/1807394** 1.什么是MySQL执行计划 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有 ...

  4. 在MySQL中使用explain查询SQL的执行计划

    1.什么是MySQL执行计划 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解. MySQL本身的功能架构分为三个部分,分别是 应用层.逻辑层.物理层,不只是MyS ...

  5. mysql 执行计划详解,Mysql中的explain执行计划详解(1)

    创建一个表test_explain,并添加入下的数据 mysql> create  table test_explain( a int primary key, b int); Query OK ...

  6. MySQL中的Explain用法

    一.Explain介绍 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而就可以知道MySQL是如何处理你的SQL语句的,可以用来分析你的查询语句或者是表结构的性能瓶颈. 通过EXPLAI ...

  7. Mysql中explain命令查看语句执行概况

    Mysql中可以使用explain命令查看查询语句的执行方式,使用方法举例:explain + 查询语句 例如:explain select * from user_info 几个重要的字段说明: t ...

  8. explain ref_你必须要掌握的MySQL命令:explain

    mysql中的explain命令可以用来查看sql语句是否使用了索引,用了什么索引,有没有做全表扫描.可以帮助我们优化查询语句. explain出来的信息有10列,文章主要介绍type.key.Ext ...

  9. MySQL查询优化之explain的深入解析

    在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.expla ...

最新文章

  1. 惊呆!谷歌AI自动编程效率超研发工程师,作为AI工程师的我感到了森森的压力
  2. 两封邮件合并转发_卖家直呼!低价订单过多,listing合并竟被亚马逊封号!
  3. 养心灵,才能美容颜,拥有好日子(图)
  4. [转载] 湖北:星空团队——海燕计划
  5. 2019手把手教你Java面试通关BAT
  6. springboot整合rpc远程调用_SpringBoot—-JsonRpc跨语言远程调用协议 - Java天堂
  7. Java 编程之美:并发编程基础晋级篇
  8. 四川山海蓝图抖音上热门的技巧
  9. java utility 是什么_Java Utility类代码示例
  10. 使用Axure制作手风琴菜单
  11. web常用模块的测试用例
  12. 嵌入式编程中boot和app的s19简易合并方法(使用mfc编程)
  13. php服务器能运行java吗_将PHP与Java服务器接口
  14. Python项目对接CAS
  15. How to defeat burnout and stay motivated 战胜倦怠 保持活力
  16. 文字在div内水平垂直居中
  17. [OAuth2.0三方登录系列文章-1]OAuth2.0与三方登录的端到端方案
  18. GIMP - 免费开源的图像处理软件,功能强大,被称为 Photoshop 的优秀替代品
  19. linux FTP本地登录
  20. 【君思智慧园区】数字化园区管理系统

热门文章

  1. ISME:宏基因组探究美洲河狸粪便微生物
  2. 如何第一时间了解研究领域最新动态?
  3. R语言使用ggplot2包使用geom_density()函数绘制密度图(连续色彩、离散色彩、梯度色彩)实战(density plot)
  4. pandas将dataframe的索引转化为列表list数据(convert dataframe index into a list)
  5. R语言构建xgboost文本分类模型(bag of words):xgb.cv函数交叉验证确定xgboost模型的最优子树个数、交叉验证获取最优子树之后构建最优xgboost模型并评估模型文本分类效能
  6. Error in eval(predvars, data, env) : object ‘**‘ not found
  7. 标准K-means算法的缺陷、K-mean++初始化算法、初始化算法步骤、Kmeans++算法实现
  8. R可视化散点图并绘制回归曲线
  9. 时间序列、时间序列分析、时间序列效应分解、平稳时间序列、AIC和BIC
  10. 机器学习数据清洗之异常数据处理、标准差法、MAD法、箱图法、图像对比法、异常值处理准则