【mysql数据库】查询执行计划相关知识
一、查询计划示意
二、查询计划返回信息示意
列名 |
示意 |
备注 |
---|---|---|
id |
一个select 的sql语句mysql给分配的id |
多表连接查询的id值是一样的 子查询和union查询,id值是不一样的 |
select_type |
select关键字对应的查询类型 |
SIMPLE,PRIMARY,UNION,UNION RESULT,SUBQUERY |
table |
select语句访问的表名 |
|
partitions |
匹配的分区信息 |
|
type |
针对单表的访问方法 |
system,const,eq_ref,ref,fulltext,ref_or_null,index_merge,unique_subquery,index_subquery,range,index,all |
possible_keys |
可能用到的索引列 |
|
key |
实际使用的索引 |
|
key_len |
实际使用的索引长度 |
|
ref |
当使用索引列等值查询时,与索引列进行等值匹配的对象信息 |
|
rows |
预估的需要读取的记录条数 |
|
filtered |
针对预估的需要读取的记录,经过搜索条件过滤后剩余记录条数的百分比 |
|
extra |
一些额外的说明查询计划的信息 |
三、JSON格式的执行计划
1、执行命令
explain format=json select * from s1
2、可以看到的额外条件
扫描的行记录,驱动表预估的扇出值,