基础

索引

  • innodb的逻辑存储结构为: 表空间, 段、区、页、行

各种索引的数据结构

b树

可视化网站

  • 结论: 当当前集合的元素大于等于当前设置的度数的时候,就会向上分裂,如果上层也出现了上诉的条件, 那么重复这个过程。

b+树

  • 以一颗最大度数为4的b+tree

  • 所有的元素都会出现在叶子节点, 叶子节点会构成一个单向链表, 而且叶子节点是一个单向链表

image-20231208184133928

Hash索引结构

image-20231208184358916

  • 特点
    • 不支持范围查询
    • 无法进行索引完成排序操作
    • 查询效率高,通常只需要一次检索就好了

在索引里面, 支持hash索引的是Memory引擎,而InnoDB具有自适应hash功能,hash索引是存储引擎根据B+Tree索引在指定条件下自动构建的

image-20231208184822916

索引分类

  • 聚集索引
  • 二级索引

image-20231208184955909

先通过找到arm, 然后获得数值(这个就是二级索引), 利用这个数值,到上面查找聚集索引

Innob主键索引的高度是多少

不是很懂是怎么计算的??

image-20231208185854434

主键个数 * 主键字节数 + 指针数量 * 6个字节 = 16kb(每页占16kb,每区占1MB)

我们可以得出记录, 即使, 我们存储千万级别的数据量, 树的高度也只有3层高度