mapjoin后,不再有reduce。普通join是在reduce阶段完成。
在 MySQL 中,无论是 Innodb 还是 MyISAM,都使用了 B+ 树作为索引结构。
平衡树(Balance Tree)是一种特殊的二叉搜索树,其核心特征是任意节点的左右子树高度差绝对值不超过1,通过自动旋转调整维持树结构平衡,确保查找、插入和删除操作的时间复杂度稳定在O(log n)
1 B+树

2 B树

B树和B+树的核心区别在于数据存储位置 (B树所有节点存数据,B+树仅叶子节点存数据)、查询稳定性 (B树可能提前终止查询,B+树必须到叶子节点)和范围查询效率(B+树通过叶子链表高效遍历)。以下是详细对比:
数据存储位置
- B树:所有节点(根节点、内部节点、叶子节点)均存储实际数据。例如,非叶子节点既存索引也存记录值。12
- B+树:仅叶子节点存储数据,非叶子节点仅存索引(不存数据)。例如,内部节点仅作为导航键。