众所周知,MySQL的explain是SQL语句中使用的查询执行计划(QEP),使您能够清楚地了解MYSQL如何执行SQL语句,从而更好地优化SQL的语句和优化索引。
但是往往很多新人对explain输出的各字段含义不慎了解,下面我们就针对这些参数做一下详细的解释,希望能给到各位帮助。
explain参数详解
1)id 查询序列号,如果一条语句中包含多个SQL子句的话,此id代表SQL执行的先后顺序。
2)select_type 查询的类型,主要是区别普通查询和联合查询、子查询之类的复杂查询
simple 它表示简单的select,没有union和子查询
primary 查询中最外层的SELECT(如两表做UNION或者存在子查询的外层的表操作为PRIMARY,内层的操作为UNION)
union 使用了union的联合语句
其他参数比较少用到,这些就不说明了。
3)table 查询的表
3)type 连接类型
system 表仅有一行,这是const类型的特列
const 表最多有一个匹配行,一般出现在查询使用了primary key 或者unique索引。
eq_ref 比较带索引的列,它用在一个索引的所有部分被联接使用并且索引是UNIQUE或PRIMARY KEY。
ref 使用了非唯一索引(操作符必须是“=”,值不可为NULL)做扫描
fulltext 全文索引
ref_or_null 类似ref,只是搜索条件包括:连接字段的值可以为null的情况,比如 where col = 2 or col is null
index_merge 使用了索引合并优化方法。在这种情况下,key列包含了使用的索引的清单,key_len包含了使用的索引的最长的关键元素。
unique_subquery 在子查询中,基于唯一索引进行扫描,类似于eq_ref
index_subquery 在子查询中,基于除唯一索引之外的索引进行扫描
range 范围扫描,基于索引做范围扫描,为诸如between,in,>=,like类操作提供支持
index 该联接类型与ALL相同,除了只有索引树被扫描。这通常比all快,因为索引文件通常比数据文件小。(也就是说虽然all和index都是读全表,但index是从索引中读取的,而all是从硬盘中读的)
all 全表扫描或者范围扫描:不使用索引,顺序扫描,直接读取表上的数据
备注:连接类型是一个非常重要的查询性能指标,从好到坏依次为:
system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL
如果在生产环境中,特别是存储数据达上百万以上的表,至少得保证查询至少达到range级别,最好能达到ref。
3)possible_keys 提示使用哪个索引会在该表中找到行,只是一种可能的预估,不代表实际的查询执行计划。
4)keys MYSQL使用的索引,简单且重要
5)key_len MYSQL使用的索引长度
6)ref ref列显示使用哪个列或常数与key一起从表中选择行。
7)rows 显示MYSQL执行查询的行数,简单且重要,数值越大越不好,说明没有用好索引
8)Extra 该列包含MySQL解决查询的详细信息。
distinct MySQL发现第1个匹配行后,停止为当前的行组合搜索更多的行。
range checked for each record 没有找到合适的索引
using filesort MYSQL手册是这么解释的“MySQL需要额外的一次传递,以找出如何按排序顺序检索行。通过根据联接类型浏览所有行并为所有匹配WHERE子句的行保存排序关键字和行的指针来完成排序。 然后关键字被排序,并按排序顺序检索行。
using index 只使用索引树中的信息而不需要进一步搜索读取实际的行来检索表中的信息。这个比较容易理解,就是说明是否使用了索引
using temporary 为了解决查询,MySQL需要创建一个临时表来容纳结果。典型情况如查询包含可以按不同情况列出列的GROUP BY和ORDER BY子句时。
1.文章《explain是什么意思》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《explain是什么意思》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好