结果:
对整个过程进行解释:
一、select_type : 查询类型,常见的值 [SIMPLE:简单表,不使用表连接或子查询。 PRIMARY : 主查询,外层的查询。 UNION 第二个或者后面的查询语句。 SUBQUERY : 子查询中的第一个select]
二、table
所查询的表
三、查询类型,mysql在表中找到所需行的方式,或者叫访问类型
常见的访问类型:
ALL 、 index 、 range 、 ref 、 eq_ref 、 const,system 、 NULL
1,type=ALL,全表扫描,
2,type=index,便利整个索引查询索要匹配的行
3,type=range,索引范围扫描整个表,>,>=,<,<=,betwween,in等操作
4,type=ref,采用非唯一索引或者唯一索引的前缀扫描,返回匹配某个单独值的记录行。ref还经常出现在JOIN操作中。
5,type=eql_ref,类似于ref,区别就在使用的索引是唯一索引,对于每个索引键值,表中有一条记录匹配;简单来说,说是多表连接中使用 主建或唯一健作为关联条件
6,type=const/system 单表中最多有一个匹配行。主要用于比较primary key [主键索引]或者unique[唯一]索引,因为数据都是唯一的,所以性能最优。条件使用=。
四、possible_keys : 可能使用的索引列表 五、key : 实现执行使用索引列表 六、key_len : 索引的长度 七、ref : 显示使用哪个列或常数与key一起从表中选择行。 八、row : 执行查询的行数,简单且重要,数值越大越不好,说明没有用好索引 九、Extra: 该列包含MySQL解决查询的详细信息
B树
B+树
B+树的每一个非叶子节点存放索引,叶子节点每一个存放数据,用链表连接起来数据按照从小到大排序
https://blog.csdn.net/qq_29373285/article/details/85254407详细参考