Explain详解

explain select  * from 表名 where 列名=value 

explain的信息会出现如下10列,下面是各列的具体说明:

id:选择标识符

select_type:表示查询的类型

table:输出结果集的表名

type:表示表的连接类型

possible_keys:表示查询时,可能使用的索引

key:表示实际使用的索引

key_len:索引字段的长度

ref:列与索引的比较

rows:扫描出的行数

extra:执行情况的描述和说明

一、select_type:

select_type的类型有:SIMPLE、PRIMARY、UNION、DEPENDENT UNION、UNION RESULT、 SUBQUERY、DEPENDENT SUBQUERY、DERIVED、UNCACHEABLE SUBQUERY

(1) SIMPLE(简单SELECT,不使用UNION或子查询等)

二、type

常用的类型有:ALL、index、range、 ref、eq_ref、const、system、NULL(从左到右,性能从差到好)

ALL:Full Table Scan, MySQL将遍历全表以找到匹配的行

三、extra:

该列包含mysql查询下的以下信息:

Using where:不用读取表中所有信息,仅通过索引就可以获取表中数据,这发生在对表的全部请求列都是同一索引的部分的时候,表示mysql服务器在存储引擎检索行后再进行过滤。

Using temporary:表示Mysql需要使用临时表来储存结果集,常见于排序和分组查询。常见group by ,order by 。但是这个所谓的内部临时表和我们手动用CREATE TEMPORARY TABLE创建的用户临时表并不一样,在事务回滚时并不需要把执行select语句的内部临时表也回滚。

Using filesort:当查询中包含order by操作,而且无法利用索引完成的排序操作称之为“文件排序”

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值