面试官:MySQL explain你会关注哪些字段
创始人
2024-03-04 01:33:43
编号字段名称字段说明重要性
1idSELECT查询序号,即为sql语句执行的顺序。数字越大越优先执行1、2、3...★★
2select_typeselect类型,用于区分是普通查询、子查询或联合查询simple:简单的查询,不含子查询和联合查询primary:子查询的最外层查询为primaryunion:在 union、union all 和子查询中的第二个和随后的 select为 uniondependent union:各个小查询都依赖于外层查询的话,那除了最左边的那个小查询之外,其余的小查询就是 dependent unionunion result:从union表获取结果的 select为 union resultsebquery:在select或者where列表中包含子查询(不在from子句中)dependent sebquery:在 select 或者 where 列表中包含子查询derived:在 form 列表中包含的子查询被标记为 derived,也叫做派生类uncacheable sebquery:一个子查询的结果不能被缓存uncacheable union:表示 union 的查询结果不能被缓存★★
3table表名或者别名,可能是临时表或者 union 合并结果集table_name
4type访问类型,表示以何种方式去访问数据库system:系统表const:最多只能匹配到一条数据eq_ref:当进行等值联表查询使用主键索引或者唯一性非空索引进行数据查找ref:查询使用的字段是个非唯一性索引索ref_or_null:字段既需要关联条件,也需要 null 值index_merge:在查询过程中需要多个索引组合使用unique_subquery:利用唯一索引来关联子查询,不再扫描全表index_subquery:利用索引来关联子查询,不再扫描全表range:利用索引查询的时候限制了范围,在指定范围内进行查询index:全索引扫描all:全表扫描system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL★★★★★
5possible_keys显示查询可能使用哪些索引来查找索引名称★★
6key实际使用的索引索引名称★★★
7key_len索引中使用的字节数数值★★★
8refref列显示使用哪个列或常数与key一起从表中查询列名或const★★★
9rows显示MYSQL执行查询的行数,数值越大越不好数值★★★★★
10filtered百分比值, 表示存储引擎返回的数据经过滤后, 剩下多少满足查询条件记录数量的比例百分比★★★★
11extraMySQL解决查询的详细信息using filtersort:说明 mysql 无法利用索引进行排序,只能利用排序算法进行排序using index:表示当前的查询是覆盖索引的,直接从索引中读取数据using where:使用 where 进行条件过滤using temporary :建立临时表来保存中间结果,查询完成之后把临时表删除using join buffer:使用连接缓存impossible where:where 语句的结果总是 false★★★★

1. id

id就是select查询序号,标志sql语句执行的顺序,数字大的先执行。

2.select_type

SELECT类型,它有以下几种值

2.1 SIMPLE

它表示简单的select,没有联合查询和子查询

2.2 PRIMARY

在有子查询的语句中,最外层的select查询就是primary

2.3 union

在 union、union all 和子查询中的第二个和后面的 select 会被标记为 union

2.4 dependent union

在包含 union 或者 union all 的大查询中,如果各个小查询都依赖于外层查询的话,那除了最左边的那个小查询之外,其余的小查询的 select_type 的值就是 dependent union

2.5 union result

从 union 表获取结果的 select 会被标记为 union result

2.6 sebquery

在 select 或者 where 列表中包含子查询(不在from子句中)

2.7 dependent sebquery

子查询中的第一个 select(不在 from 子句中),并且取决于外层查询

2.8 derived

在 form 列表中包含的子查询被标记为 derived,也叫做派生类

2.9 uncacheable sebquery

一个子查询的结果不能被缓存

2.10 uncacheable union

表示 union 的查询结果不能被缓存

3 Table

explain 语句访问的表名或者别名

4 type

访问类型,表示以何种方式去访问数据库

4.1 system

表仅有一行,这是const类型的特列

4.2 const

表最多有一个匹配行,const用于比较primary key 或者unique索引。

4.3 eq_ref

当进行等值联表查询使用主键索引或者唯一性非空索引进行数据查找

4.4 ref

查询使用的字段是个非唯一性索引索

4.5 ref_or_null

字段既需要关联条件,也需要 null 值

4.6 index_merge

在查询过程中需要多个索引组合使用

4.7 unique_subquery

利用唯一索引来关联子查询,不再扫描全表

4.8 index_subquery

利用索引来关联子查询,不再扫描全表

4.9 range

利用索引查询的时候限制了范围,在指定范围内进行查询

4.10 index

全索引扫描

4.11 ALL

全表扫描

5 possible_keys

显示查询可能使用哪些索引来查找,可能应用在这张表中的索引,一个或多个,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用

6 keys

实际使用的索引,如果为 null ,则表示没有使用索引

7 key_len

MYSQL使用的索引长度

8 ref

ref列显示使用哪个列或常数与key一起从表中查询

9 rows

显示MYSQL执行查询的行数,数值越大越不好

10 filtered

百分比值, 表示存储引擎返回的数据经过滤后, 剩下多少满足查询条件记录数量的比例.

11 Extra

该列包含MySQL解决查询的详细信息。

  • using filtersort:说明 mysql 无法利用索引进行排序,只能利用排序算法进行排序
  • using index:表示当前的查询是覆盖索引的,直接从索引中读取数据
  • using where:使用 where 进行条件过滤
  • using temporary :建立临时表来保存中间结果,查询完成之后把临时表删除
  • using join buffer:使用连接缓存
  • impossible where:where 语句的结果总是 false

相关内容

热门资讯

demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...