一、 索引为什么是 B+ 树?在计算机科学中,有很多数据结构可以实现快速查找,比如哈希表、平衡二叉树、B 树。为什么 MySQL 最终选择了 B+ 树?1. 对比哈希表 (Hash)优势: O(1) 的查询速度,快到极致。劣势: 只能处理“等值查询”(where id = 1)。一旦遇到范围查询(where id > 10),哈希表就彻底废了,因为它内部是无序的。2. 对比二叉搜索树 (BST / AVL / 红黑树)劣势:树太高了。物理意义上的痛点: 数据库数据存在磁盘上。每经过一个树节点,都要进行一次磁盘 IO。如果数据有百万级,二叉树的高度可能是 20 层,意味着查一个数据要 20...