B+树和B-树都是多路查找树,它们的主要区别如下:
- B+树的叶子节点以单链表的形式顺序链接在一起,方便查找。
- B+树的数据只存储在叶子节点,非叶子节点只存储键值,B树的所有节点都存储了key和data。
所以使用B+树的优点如下
- B+树支持随机检索和顺序检索,而B-树只支持随机检索。
- B+树的空间利用率高,因为只有叶子节点存储数据。
- B+树可以进行范围查找,因为B+树的所有叶子节点用链表的形式以顺序方式链接到一起。
- B+树的增加删除节点效率更高。
综上所述,Mysql选择B+树作为索引效率更高,查询更快,更灵活。