B树 vs B树核心一句话B树只有叶子存数据、非叶子只存索引B树所有节点都存数据。B树更适合数据库、文件系统。1. 节点存储内容最核心区别B树每个节点包括非叶子、叶子都存关键字 数据/记录B树非叶子节点只存索引关键字不存真实数据叶子节点存放全部数据记录且叶子节点链表相连2. 关键字与子节点关系B树n 个关键字 → n1 个子节点B树n 个关键字 → n 个子节点3. 查找方式B树数据分散在各层找到即停可能在非叶子命中B树所有查找必须走到叶子节点支持范围查询、全表遍历顺着叶子链表走4. 磁盘IO数据库重点B树优势更大非叶子节点更小一页能存更多索引树更矮磁盘IO次数更少。范围查询只遍历叶子链表效率极高。5. 应用场景B树文件系统索引如NTFSB树MySQL InnoDB 索引、数据库主流索引结构标准回答B树所有节点都存数据B树只有叶子存数据非叶子只存索引。B树非叶子节点更小索引密度更高树高更低磁盘IO更少。B树叶子节点连成链表范围查询、排序、全表扫描远快于B树所以MySQL用B树。