mysql的索引原理

目录

    • 一、索引采用B+树的优势
    • 二、为什么不使用其他数据结构
      • 2.1、哈希索引
      • 2.2平衡二叉树
      • B树
  • 参考

mysql索引采用B+树

一、索引采用B+树的优势

mysql的索引原理_第1张图片

1可以进行范围查找,通过单向链表解决(通过单向链表已经排好序)。
2非叶子结点只存储key,不存储value;叶子结点同时存储key,value

二、为什么不使用其他数据结构

2.1、哈希索引

1哈希索引适合等值查询,无法进行范围查询
2哈希索引无法进行排序

2.2平衡二叉树

1随着树的高度增加,查找速度变慢
2如果要查找id>5的结点,可以看到还要往上查找父结点,效率低。
mysql的索引原理_第2张图片

B树

mysql的索引原理_第3张图片
1比起AVL树而言,解决了高度的问题。
2同样存在AVL树要查找id>5的结点,可以看到还要往上查找父结点,效率低。

参考

B站《MySQL索引数据结构为什么使用B+树》

你可能感兴趣的:(mysql,mysql,数据库)