我觉得这个问题,B 树的起名者起码得背一半锅。 人们所说的 B-Tree 的中间那个 `-` 是**连字符** 、而非**减号** 。你也可以省略它,直接写作 B Tree。 而 B+Tree 本来就是一种 B-Tree(即所谓的变种树)。 二者的关系就好比阳光玫瑰跟葡萄的关系(吃葡萄 ing... 😀) —— 阳光玫瑰跟巨峰之间可以对比,但你说阳光玫瑰跟葡萄有啥可对比的呢?葡萄本身有的特征,阳光玫瑰一样全都具备;但反过来说阳光玫瑰有一些独有的特征,葡萄这个大类却不一定都具备。 **所以 B-Tree 跟 B+Tree 并不是非此即彼的关系。** 目前 MySQL 中无论哪种存储引擎,但凡涉及到 B-Tree 的,一律都是用的 B+Tree。 P.S. 所以你贴的那篇文章吧……不能说它写错了,但确实非常容易给人造成误解,以为里面提到的 B+Tree 跟 B-Tree 是俩东西。