深入理解MySql索引底层-数据结构与算法

  • 索引数据结构红黑树,Hash,B+树详解
  • 索引是怎么支撑千万级表的快速查找
  • 联合索引底层数据结构又是怎样的

 

一,索引的本质

1,索引是帮助MySQL高效获取数据的排好序的数据结构

2,索引数据结构 :

二叉树

红黑树

Hash表

B-Tree

深入理解MySql索引底层-数据结构与算法

二,B-Tree结构

叶节点具有相同的深度,叶节点的指针为空

所有索引元素不重复

节点中的数据索引从左到右递增排列

深入理解MySql索引底层-数据结构与算法

三,B+Tree(B-Tree变种)

非叶子节点不存储data,只存储索引(冗余),可以放更多的索引

叶子节点包含所有索引字段

叶子节点用指针连接,提高区间访问的性能

深入理解MySql索引底层-数据结构与算法