美文网首页
MySQL的执行计划

MySQL的执行计划

作者: wayyyy | 来源:发表于2018-05-05 03:00 被阅读0次
  • 执行计划是什么?
    执行计划是SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化。在MySQL中使用explain关键字查看。
    查询
    SELECT * FROM A WHERE NAME = "TOM";
    查看上述语句的执行计划
    explain select * from A where name = "TOM";
    
执行结果.jpg
  • select_type
    该表示选择的类型,常见可选值有: SIMPLE(简单的),PRIMARY(最外层) ,SUBQUERY(子查询中的第一个select查询)

  • table
    表示输出行数据所在表。

  • type
    该属性表示访问类型,有很多种访问类型。
    最常见的其中包括以下几种:

    • ALL(全表扫描)
    • index(索引扫描)
      这种类型表示是MySQL会对整个索引进行扫描。要想用到这种类型的索引,对这个索引并无特别要求,只要是索引,或者某个复合索引的一部分,MySQL都可能会采用index类型的方式扫描。缺点是效率不高,MySQL会从索引中的第一个数据一个个的查找到最后一个数据,直到找到符合判断条件的某个索引。
    • range(范围扫描)
    • ref (非唯一索引扫描)
    • eq_ref(唯一索引扫描,)
    • (const)常数引用, 访问速度依次由慢到快。

    访问速度依次由慢到快。

  • possible_keys
    顾名思义,该属性给出了该查询语句可能走的索引,(如某些字段上索引的名字)这里提供的只是参考,而不是实际走的索引。

  • key
    显示MySQL实际使用的索引,其中就包括主键索引(PRIMARY),或者自建索引的名字。

  • key_len
    表示索引所使用的字节数。

  • ref
    连接匹配条件,如果走主键索引的话,该值为: const,全表扫描的话为null值

  • rows
    扫描行数,也就是说,需要扫描多少行,采能获取目标行数,一般情况下会大于返回行数。通常情况下:rows越小,效率越高,大部分SQL优化,都是在减少这个值的大小。

    注意: 理想情况下扫描的行数与实际返回行数理论上是一致的,但这种情况及其少,如关联查询,扫描的行数就会比返回行数大大增加。

  • Extra
    这个属性非常重要,该属性中包括执行SQL时的真实情况信息,如上面所属,使用到的是"using where",表示使用where筛选得到的值。常用的有: "Using temporary" 使用临时表; "using filesort" 使用文件排序

相关文章

  • MySQL源码解析之执行计划

    MySQL源码解析之执行计划 MySQL执行计划介绍 MySQL执行计划代码概览 MySQL执行计划总结 一、My...

  • Mysql优化之explain详解

    关键词: mysql explain sql优化 执行计划 简述:explain为mysql提供语句的执行计划信息...

  • MYSQL执行计划字段详解

    Mysql查看执行计划 explain + sql :输出执行计划。explain extended + sql ...

  • MySQL的执行计划

    MySQL的执行计划 什么是执行计划? 执行计划通常是开发者优化SQL语句的第一步。MySQL在解析SQL语句时,...

  • MySQL进阶之路--EXPLAIN执行计划详解

    执行计划简介 执行计划是指一条SQL语句在经过MySQL查询优化器的优化会后,具体的执行方式。MySQL为我们提供...

  • 索引

    一文说尽 MySQL 优化原理MySQL 索引管理与执行计划

  • Mysql执行计划功能详解

    Mysql执行计划使用详解 在Mysql调优过程中其中最关键的一点,就是正确使用执行计划,从而查看SQL语句的具体...

  • MySQL执行计划

    MySQL执行计划[https://www.jianshu.com/p/c68cd839cf26] 执行计划,简单...

  • 在 MySQL 中使用 EXPLAIN 查询 SQL 语句的执行

    1、什么是MySQL执行计划 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解...

  • Mysql - Explain

    Mysql - Explain explain + 查询sql可以生成一个执行计划,可以通过执行计划来进行sql优...

网友评论

      本文标题:MySQL的执行计划

      本文链接:https://www.haomeiwen.com/subject/vkiwcftx.html