mysql的索引结构是b+树(一种自平衡的多路搜索树)
mysql的b+树的特点
- b+树使查询/插入/删除 操作都可以在o(log n)的时间复杂度内完成
- b+树的叶子结点之间通过指针互相连结,所以对范围查询和顺序访问也更加高效
- mysql的b+树只在叶子结点存储数据,而非叶子结点只保存键值或索引
b+树与b树的区别
- b树每个节点都存储数据;b+树只在叶子结点存储数据
- b树每个节点有多个子节点;b+树每个节点只有1个子节点
- b树叶子结点之间没有连接;b+树的叶子结点之间通过指针互相连结
- b树中关键字会同时出现在内部节点和叶子结点;b+树中关键字只会出现在叶子结点
- b树适合随机检索;b+树适合随机检索和顺序检索,磁盘读写代价更低,查询效率更稳定