B-tree:
B-tree、B+tree、B*tree、InnoDB
B树其实是一种多叉树,它的出现降低了树的高度;
文件系统及数据库系统的设计者利用了磁盘预读原理,将一个节点的大小设为等于一个页(页得大小通常为 4k), 这样每个节点只需要一次 I/O 就可以完全载入;
B树搜索可能在叶子结点,也可能在其他节点;

B+tree:
B-tree、B+tree、B*tree、InnoDB
B+树的搜索必须达到叶子结点,数据全部存储于叶子节点的链表里;其他节点相当于索引,更适合文件索引系统,数据库索引的常用数据结构;
InnoDB
根据每张表的主键创建的B+tree,叶子节点存储数据,称为聚簇索引,只能有一个;
若表不存在主键,会自动的创建一个符合的主键;
辅助索引:根据辅助索引创建新树,不过它的叶子节点存储主键,找到主键通过聚簇索引进行二次查询;
MyISAM:
根据主键或辅键创建B+tree,叶子节点存储的是数据的地址,所以它的主索引和辅助索引没什么区别,只是主索引要求key是唯一,而辅助索引的key可以重复;

B*tree:
B*树是 B+树的变体,在 B+树的非根和非叶子结点再增加指向兄弟的指针;

分裂
当B-tree,B+tree,B*tree,删除添加时候,结构变了会通过分裂的方式变的符合

相关文章:

  • 2021-10-10
  • 2021-05-26
  • 2021-07-26
  • 2021-04-02
  • 2021-08-19
猜你喜欢
  • 2021-12-13
  • 2021-06-05
  • 2021-11-18
  • 2021-09-13
  • 2022-02-15
相关资源
相似解决方案