钦州网站建设公司,大学生创新项目申报书 做网站,黄骅港港务集团,一个小程序一年的费用是多少B树是一种树数据结构。B树索引是B树在数据库中的一种实现#xff0c;是最常见也是数据库中使用最为频繁的一种索引。
先来了解一下什么是索引#xff1f;
一、索引
数据都是存储在硬盘上的#xff0c;查询数据不可避免的需要进行IO操作。
索引是一种数据结构#xff0c…B树是一种树数据结构。B树索引是B树在数据库中的一种实现是最常见也是数据库中使用最为频繁的一种索引。
先来了解一下什么是索引
一、索引
数据都是存储在硬盘上的查询数据不可避免的需要进行IO操作。
索引是一种数据结构又称之为“键(key)”是存储引擎用于快速找到记录的一种数据结构。类似于书的目录在查询数据的时候先找目录再找数据而不是一页一页的翻。索引的存在提升来查询速度降低来IO操作。
在一张表中可以有多个索引但索引也不是越多越好。索引虽然可以帮助提升查询速度但也是有缺点的
1当表中有大量数据存在的前提下创建索引的速度会很慢
2在索引创建完毕后对表的查询性能会大幅度提升但写的性能也会大幅度降低
因此索引不能随便的创建。
二、B树 如图所示这就是一个B树在非叶子结点上存储的是一定范围内索引id对应的磁盘地址叶子结点上存储的是具体的数据。
B树之所以这么做的意义在于树一个节点就是一个页而数据库中页的大小是固定的所以在页大小固定的前提下能往一个页中放入更多的节点相应的树的阶数节点的子节点树就会更大那么树的高度就更矮如此一来我们查找数据进行磁盘的IO次数有会再次减少数据查询的效率也会更快。
B树中各个页之间是通过双向链表连接的叶子节点中的数据是通过单向链表连接的。
B树叶子节点的关键字从小到大有序排列左边节点的结尾数据都会保存右边节点的开始数据的指针就构成了一个有序链表在查询大小区间的数据时候更方便速度更快。