【说站】mysql B+Tree索引是什么
2023-06-13 09:13:14 时间
mysql B+Tree索引是什么
概念
1、B+Tree是在B-Tree基础上的一种优化,使其更适合实现外存储索引结构。在B+Tree中,所有数据记录节点都是按照键值大小顺序存放在同一层的叶子节点上,而非叶子节点上只存储key值信息,这样可以大大加大每个节点存储的key值数量,降低B+Tree的高度。
与B-Tree区别
B+的搜索与B-树也基本相同,区别是B+树只有达到叶子结点才命中(B-树可以在非叶子结点命中)
(1)所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的;( 只有根节点存储关键字最后树的末梢才有值 )
(2)非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层。(非根节点,存储的其实是指向根节点的索引 )
(3) 因为前两点,所以 不可能在非叶子结点存数据。 (区别B-的第三条)
(4)根节点横向也有链指针(方便快速顺藤摸瓜嘛,没这个指针,就算下一个取的值是挨着的邻居,也得跑个圈才能拿到)
使用说明
2、B+Tree索引是大多数MySQL存储引擎的默认索引类型。
因为不再需要进行全表扫描,只需要对树进行搜索即可,所以查找速度快很多。
因为 B+ Tree 的有序性,所以除了用于查找,还可以用于排序和分组。
可以指定多个列作为索引列,多个索引列共同组成键。
适用于全键值、键值范围和键前缀查找,其中键前缀查找只适用于最左前缀查找。如果不是按照索引列的顺序进行查找,则无法使用索引。
以上就是mysql B+Tree索引的介绍,希望对大家有所帮助。更多mysql学习指路:MySQL
推荐操作系统:windows7系统、mysql5.8、DELL G3电脑
相关文章
- MYSQL自动导出数据:轻松获取更新(mysql自动导出数据)
- MySQL中强大的模糊查询及索引优化(mysql模糊查询索引)
- 快速搭建MySQL索引,提高数据查询速度(mysql如何建索引)
- MySQL中索引类型深度剖析(mysql中索引类型)
- 解析MySQL索引的使用方法(mysql的索引怎么使用)
- MySQL数据库:删除索引的正确方式(mysql数据库删除索引)
- MySQL索引:利用B树实现快速查找(mysql索引b树)
- 数据库MySQL快速新建数据库的方法(mysql新建)
- 【MySQL索引:提高查询效率的秘诀】(mysql索引关联)
- MySQL位图索引:加速查询的高效方法(mysql位图索引)
- MySQL 之神秘内部:揭秘核心黑匣子(mysql核心内幕)
- MySQL组合索引前缀优化技巧(mysql组合索引前缀)
- MySQL字段索引:优化查询效率的重要手段(mysql字段索引)
- MySQL与MSSQL的比较:对数据库来说何者更优?(mysql比mssql)
- ?MySQL 主键索引:有什么不同?(mysql主键是索引吗)
- MySQL事件了解数据库中的任务调度程序(mysql中事件是什么)
- MySQL中OR的用途和意义(mysql中or什么意思)
- 用CMD命令快速连接Mysql数据库(cmd命令连接mysql)
- MySQL 的 3313 版给我们带来了什么(3313 mysql)
- 初学者必知MySQL Yog的基础使用教程(mysql yog怎么写)
- 避免使用MySQL索引会导致什么问题(mysql不加索引)
- MySQL数据库的默认存储引擎是什么(mysql不指定存储引擎)