Innodb 的索引和算法

InnoDB 索引引擎 常用的是B+树的索引

B+树的定义

1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。
2.所有的叶子节点包含了全部的信息,且叶子节点按关键字从小到大排序,双向链表.
3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素
4.中间节点不带有数据,仅叶子节点包含.可以保证树的矮胖,可以一次磁盘IO加载更多数据

Innodb 的索引和算法

AVL数

Innodb 的索引和算法
需要多次旋转 来保持平衡

聚集索引 辅助索引 联合索引 覆盖索引

聚集索引是按照 每张表的主键构造一棵B+树 叶子节点存贮数据
辅助索引 是叶子级别存贮的是相应行数据的聚集索引键
联合索引是指对表上的多个列进行索引。

Innodb 的索引和算法
联合索引

Innodb 的索引和算法

Innodb 的索引和算法