mysql explain各列的含义
来源:互联网 发布:装配线排程算法 编辑:程序博客网 时间:2024/06/06 11:33
1、id
语句的执行顺序标识,如果在语句中没有子查询或联合,说明只有一个SELECT,于是这个列显示为1,否则内层的SELECT会顺序编号.
2、select_type
显示了对应的查询是简单还是复杂SELECT,主要有以下几种查询类型
1)、simple 简单类型
语句中没有子查询或union
2)、primary
最外层的select ,不是主键
3)、union
union是在select 语句中第二个select语句后面所有的select,第一个select 为primary
4)、dependent subquery
子查询中内层中第一个select语句
5)、dependent union
子查询中union且为union中第二个select开始的后面所有select,依赖于外部的结果集。
6)、SUBQUERY
子查询内层查询的第一个SELECT,结果不依赖于外部查询结果集。
7)、devived
派生表的查询语句
8)、uncacheable subquery
结果集无法缓存的子查询
9)、union result
union中合并的结果
3、table
1)、显示对应行正在访问哪个表
2)、当FROM子句中有子查询或UNION时,table列是<derivedN>,其中N是id列对应的值
4、type
这列很重要,显示了连接使用了哪种类别,有无使用索引。主要包括以下几种类型
1)、all
全表扫描,效果是最不理想的。
2)、const
const是在where条件以常量作为查询条件,最多只会有一条记录匹配,由于是常量,实际上只须要读一次。
3)、eq_ref
最多只会有一条匹配结果,一般是通过主键或唯一键索引来访问。一般会出现在连接查询的语句中。
4)、fulltext
进行全文索引检索。
5)、index
全索引扫描。MySQL在扫描表时按索引次序进行而不是行。
6)、index_merge
查询中同时使用两个(或更多)索引,然后对索引结果进行合并(merge),再读取表数据。
7)、index_subquery
子查询中的返回结果字段组合是一个索引(或索引组合),但不是一个主键或唯一索引。
8)、rang
索引范围扫描。一个有限制的索引扫描,它开始于索引里的某一点,返回匹配这个值域的行(显而易见的范围扫描.即带有BETWEEN或在WHERE子句中带有>的查询,当MySQL使用索引去查找一系列值的时候,如IN()和OR列表,也为显示的范围扫描)
9)、ref
也叫索引查找,他返回所有匹配某单个值的行,它可能会找到多个符合条件行。
10)、ref_or_null
与ref的唯一区别就是在使用索引引用的查询之外再增加一个空值的查询。
11)、system
系统表,表中只有一行数据;
12)、unique_subquery
子查询中的返回结果字段组合是主键或唯一约束。
语句的执行顺序标识,如果在语句中没有子查询或联合,说明只有一个SELECT,于是这个列显示为1,否则内层的SELECT会顺序编号.
2、select_type
显示了对应的查询是简单还是复杂SELECT,主要有以下几种查询类型
1)、simple 简单类型
语句中没有子查询或union
2)、primary
最外层的select ,不是主键
3)、union
union是在select 语句中第二个select语句后面所有的select,第一个select 为primary
4)、dependent subquery
子查询中内层中第一个select语句
5)、dependent union
子查询中union且为union中第二个select开始的后面所有select,依赖于外部的结果集。
6)、SUBQUERY
子查询内层查询的第一个SELECT,结果不依赖于外部查询结果集。
7)、devived
派生表的查询语句
8)、uncacheable subquery
结果集无法缓存的子查询
9)、union result
union中合并的结果
3、table
1)、显示对应行正在访问哪个表
2)、当FROM子句中有子查询或UNION时,table列是<derivedN>,其中N是id列对应的值
4、type
这列很重要,显示了连接使用了哪种类别,有无使用索引。主要包括以下几种类型
1)、all
全表扫描,效果是最不理想的。
2)、const
const是在where条件以常量作为查询条件,最多只会有一条记录匹配,由于是常量,实际上只须要读一次。
3)、eq_ref
最多只会有一条匹配结果,一般是通过主键或唯一键索引来访问。一般会出现在连接查询的语句中。
4)、fulltext
进行全文索引检索。
5)、index
全索引扫描。MySQL在扫描表时按索引次序进行而不是行。
6)、index_merge
查询中同时使用两个(或更多)索引,然后对索引结果进行合并(merge),再读取表数据。
7)、index_subquery
子查询中的返回结果字段组合是一个索引(或索引组合),但不是一个主键或唯一索引。
8)、rang
索引范围扫描。一个有限制的索引扫描,它开始于索引里的某一点,返回匹配这个值域的行(显而易见的范围扫描.即带有BETWEEN或在WHERE子句中带有>的查询,当MySQL使用索引去查找一系列值的时候,如IN()和OR列表,也为显示的范围扫描)
9)、ref
也叫索引查找,他返回所有匹配某单个值的行,它可能会找到多个符合条件行。
10)、ref_or_null
与ref的唯一区别就是在使用索引引用的查询之外再增加一个空值的查询。
11)、system
系统表,表中只有一行数据;
12)、unique_subquery
子查询中的返回结果字段组合是主键或唯一约束。
0 0
- mysql explain 各列的含义
- mysql explain各列的含义
- mysql explain type 和extra 列的含义
- mysql explain中的type列含义和extra列的含义
- mysql explain中的type列含义和extra列的含义
- mysql explain中的type列含义和extra列的含义
- mysql explain中的type列含义和extra列的含义
- mysql explain用法和结果的含义
- mysql explain用法和结果的含义
- mysql explain用法和结果的含义
- mysql explain用法和结果的含义
- mysql explain用法和结果的含义
- mysql explain用法和结果的含义
- mysql explain用法和结果的含义
- Mysql Explain 详解各字段含义
- MySQL Explain Type列
- MySQL之explain 的type列 & Extra列
- MySQL之explain 的type列 & Extra列
- Multiple dex files define Landroid/support/annotation/AnimRes
- Centos 6.6安装Mysql 及使用
- Json字符串生成与解析
- .a库的制作(合并真机和模拟器的方法)
- android studio git/github配置
- mysql explain各列的含义
- 《Drools6.4 中文文档》第1章1.1~1.2(完)
- XML解析——DOM
- 华为机试题:有10个整数,使前面格数顺序向后移m个位置,最后m个数变成最前面m个数。计算移动后的整数序列的前m个数和后m个数的和。
- AOE
- hdu-1796-How many integers can you find(容斥)
- 通俗理解并发和并行的区别
- ORACLE连接服务器失败,无法使用oci连接其它电脑的 ORACLE服务器等,oci 接口c++封装。
- delete the element of array