B+Tree类型索引

本文介绍了MYSQL中的B+Tree索引,包括其工作原理、优势以及适用的查询类型。B+Tree索引在Innodb引擎中用于加速数据访问,通过有序的节点结构支持范围查找。文章还探讨了全值匹配、最左前缀匹配、列前缀匹配和范围匹配等查询场景,并提到了覆盖索引的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

B+Tree索引

1.首先我们了解下有哪些索引类型

  1. 索引有很多种类型,可以为不同的场景提供更好的性能,在MYSQL中索引是存储引擎层实现的,而非服务器层,所以并没有统一的标准,因为同一种索引在MYSQL不同的引擎中可能底层的实现不同

  2. 那我们来看看MYSQL中支持得索引类型有哪些

    1.B-Tree索引(注意这里的是指B-tree索引与B+tree索引,而MYSQL是B+Tree索引,无论是MyIsam引擎还是Innodb引擎,只是它们节点中存储的内容稍有不同)

    • B+Tree索引,Innodb引擎采用的就是这种类型的索引,它能够加快访问数据的速度,因为不需要进行全表扫描来获取需要的内容,从索引的根节点开始进行搜索,且根节点的槽中存放了下一个子节点的指针,根据这些指针再向下层查找。最后存储引擎要么找到对应的值,要么找不到。而这里的节点(叶子节点)它们的指针指向被索引的数据,而不是其它的节点页

    • B+Tree对索引列是顺序组织存储的,所以很适合查找范围数据。例如在一个文本域的索引树上,按字母顺序传递连续的值是非常合适的,所以像从i-k开头的名字,这样的查找就很高效。

    • 例子,假如有如下的表
      CREATE TABLE People( last_name varchar(50) not null , first_name varchar(50) not null , dob date not null , gender enum('m', 'f') not null , key(last_name, first_name , dob) );
      这里我们创建了一个表,定义了last_name first_name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

:::::::::

生活多磨赚钱可多

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值