码迷,mamicode.com
首页 > 数据库 > 详细

Mysql优化必备技能之Explain的使用

时间:2018-11-15 00:20:53      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:sql   png   bubuko   plain   系统   order by   匹配   信息   查询   

一.Explain是什么

  explain是mysql里面用于分析sql语句在执行计划的,如下图,使用方法就是在sql语句之前加上这个关键字,然后通过下面的信息来分析这个sql语句。

     技术分享图片

二.字段详解

  1.id:select查询的序列号,如果id全部相同,则执行顺序由上到下。如果id全部不同,递增,id越大,先被执行查询。如果id相同不同都有,那么id相同的一组顺序执行,所有组中id越大越先被执行。

  2.select_type:查询的类型,有六种,不太有用的东西,可忽略。

  3.type:访问类型,System(只有一条记录)到Const(索引一次找到)到eq_ref(每个索引只有一个记录)到ref(返回匹配的所有行)到range(使用索引选择行)到all,一般来说,能保证sql语句到range,ref更好,已经可以了。

  4.possible_key:显示可能用到的索引。

  5.key:实际使用到的索引。

  6.key_len:索引长度。

  7.ref:显示索引的那一列被使用了。

  8.rows:系统估计读取的行数

  9.extra:

      using filesort:说明你设的索引系统没有用,它又自己进行文件内排序,出现这个情况十分糟糕。

      using temporary:说明产生了临时表,一般都是order by和分组group by的时候,这个情况非常非常糟糕。

      using index :很好,这个情况最好,表面使用了覆盖索引,看下图,emp_name为索引,这样使用到了索引。

                   技术分享图片

 

Mysql优化必备技能之Explain的使用

标签:sql   png   bubuko   plain   系统   order by   匹配   信息   查询   

原文地址:https://www.cnblogs.com/JimmyFanHome/p/9961063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!