(篇六)索引

目录

🎈概念:

🎈作用:

🎪 使用场景:

🎪使用:

🍧索引背后的数据结构

🌸B树

💐概念:

💐结构:

💐特点:

🌸B+树

💐概念:

💐结构:

💐特点:

🌸总结:


概念:

        索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。

作用:

 使用场景:

 根据索引的优缺点和索引的作用,我们可以看出,满足一下几个条件时候我们可以使用索引。

满足以上条件时,考虑对表中的这些字段创建索引,以提高查询效率。

使用:

 此时框住的就是当前表的索引名,是针对id列设置的。 

此时name索引就被删除了。

需要注意的是:在 篇四 的表约束里讲到的主键(primary key)和unique,这设置这两个属性是                           会自动生成对应列的索引。

索引背后的数据结构

B树

概念:

        B树也叫B-树(B杠树)。是一颗多路搜索树,一个节点上有n个key,向下引出n+1个子区间。  B树也可以认为是一个N叉树

结构:

        例如这个图的数据,此时这就是一个B树结构,最上面的节点中有4个key,往下就划分出来(4+1)个范围的节点,分别是(...~30),  (30~40)  ,  (40~50)  ,  (50~60)  ,  (60~...)    注意这些区间都是前开后开的。

特点:

       

B+树

概念:

        B+树是B树的变体,在B树基础上有一些优化和改变,B+树也是一个N叉树,对路搜索树,但是不同于B树,一个节点上有N个key,可以向下引出N个子区间

结构:

        这个图的结构就是一个B+树,为什么B+树N个节点只能向下划分(N+1)个区间,而B树是N个,我们观察这个结构,我用红色方框框住的数,这些数是各自节点中数据的最大值,没有比这个数更大的数,并且我们发现,B树向下划分的区间范围都是前开后开的,而B+树 划分的范围是前开后闭,而且上面节点的key值,在下面节点中一定能找到!!!

       所有的key值最后都会储存到最下面的叶子节点中,并且通过首尾相连形成一个链表结构

特点:

总结:

MySQL的基本索引使用的是B+树 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值