为什么mysql不使用平衡二叉树?
- 数据处的深度决定着他的IO操作次数,IO操作耗时大
- 每一个磁盘块保存的数据量太小
B+Tree和B-Tree的区别?
- B+树几点关键字搜索采用闭合区间
- B+树非叶节点不保存数据相关信息,只保存关键字和子节点的引用
- B+树关键字对应数据保存在叶子节点中
- B+树节点是顺序排列并且相邻节点具有顺序引用的关系
- B+树是B-树的变种,他拥有B-树的优势
- B+树扫库扫表能力强,磁盘读写能力更强
- 排序能力更强,查询效率更加稳定
为什么选用B+Tree?
稳定(B-Tree寻子不稳定,可能1次1层,也可能2次100层才能检索到,效率是不稳定)
B+Tree 每次都查到最后一层,所以每次查的效率是稳定的)