MySQLMySQL 的索引为什么使用 B+ 树,而不是二叉树或哈希表?面试题考点是否理解数据库存储引擎和磁盘 IO 之间的关系。面试官想听的1、B+ 树能减少磁盘 IO2、B+ 树能支持范围查询,但是哈希不能3、InnoDB 是页结构,B+ 树能天然适配页存储面试示例回答B+ 树是专门为磁盘存储设计的数据结构。在 MySQL 中,一个节点通常是 16KB,当我们查询时,每次 IO 会把整个节点读入内存。详情请参考:http://xhslink.com/o/e1Fu4WUJnR由浅入深分析1、为什么不是二叉树:太高、IO 次数多、查找慢。2、为什么不是 B 树:B 树每层都存数据,遍历效率低。...