B+树:MySQL数据库中建立索引的数据结构

在MySQL数据库中是通过B+树的数据结构建立索引的。

相比二叉树,B树是一种多叉树,总层数更少,磁盘io次数也会相应减少。而与B树不同的是,B+树把索引和数据分开存储,数据以链表的形式存放在B+树的叶子结点上,使得非叶子结点每一层能存放更多索引,层数也相应减少,树结构更加‘矮胖’,使得磁盘io次数降为最小。

值得注意的是,只有主键是聚簇索引,即叶子结点存放的是原始数据。其余的索引是非聚簇索引,叶子节点存放的是主键的引用,所以每次查非主键的索引会遍历两颗B+树,先遍历非聚簇索引的B+树,查到主键的索引后再遍历聚簇索引的那颗B+树,从叶子节点的链表中取得数据。

猜你喜欢

转载自blog.csdn.net/qq_43435274/article/details/103607087