MySql为什么选用B+树

参考于:为什么选择b+树作为存储引擎索引结构_技术交流_牛客网 (nowcoder.com)

这篇文章写的比较详细!!!

  1. B树时间复杂度为O(logn)
  2. B树支持范围查询、排序等操作
  3. B树比其他的平衡二次树更加矮胖(准确点说应该是多路查找树)
  4. B树的一个结点(页)为16KB,而操作系统的页为4KB,可以直接顺序读4个页,减少了随机IO次数
  5. B+树由于将数据全部存储在叶子结点上,非叶子结点上可以存储更多的键,所以B+树比B树更矮,所以时间复杂度更低(还是应该说是查询任何数据的时间复杂度都差不多?)
  6. B+树由于将数据全部存储在叶子结点上,并且用指针连接起来,形成了一个双向链表,扫库扫表能力更强