Mysql底层索引使用B+树(数据结构学习感悟)
Mysql底层索引使用B+树(数据结构学习感悟)
注:本文仅代表个人观点,没有任何依据,如有错误,敬请斧正
考研学习数据结构,有了比之前更深的认识,或者说数据结构运用无处不在,如Hash就作为Java最常用的判断手段。
回归正题,B+树作为Mysql底层索引,相比平衡二叉树,红黑树,结构更为稳定,不会频繁因为一个节点改变而改变结构。而对比相似的B树呢,我们清楚,每一次查找实际是从磁盘读取数据块,而当数据块不存在时,根据当前数据块信息从磁盘读取下一数据块,我们知道磁盘读取IO操作速度很慢,非常耗时,所以树高度越高,查找越慢,而数据块大小有限(通常好像是 1KB),B+除叶子节点不记录数据具体信息,导致B+树每一个数据块记录的中间节点比B树更多,导致树高度会更低。其次,B+树支持顺序查找,也就导致更适合做底层索引。

浙公网安备 33010602011771号