数据库索引

一,索引的验证

EXPLAIN select * from xscj.xsqk xs  join xscj.xs_kc kc 
 where xs.学号=kc.学号;

结果:

    

    对整个过程进行解释:

  一、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详细参考

  

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值