MySQL为什么使用B+树

聚集索引、聚簇索引:InnoDB 叶子节点包含了完整的数据记录

非聚集索引/稀疏索引:MyISAM 索引和数据分开的

联合索引:

InnoDB主键:

InnoDB如果没有主键: RowId(隐藏列、如果没有主键和唯一索引)

UUID做主键(不推荐):既不是整形、又不是自增

推荐整型做主键,占用空间小(int 4 Bytes)

Hash索引(很少用):仅能满足“=”、“IN”,不支持范围查询,hash冲突可能(小概率)

双向指针:innodb叶子节点存储了上下两个节点的指针信息

b+数叶子节点之间有指针

双向指针

B+树
innodb
MyISAM