1. B树和B+树的区别是什么?
-
数据存储位置:
-
B树:所有节点(包括内部节点和叶子节点)均存储数据。
-
B+树:仅叶子节点存储数据,内部节点仅存储键值(索引)。
-
-
叶子节点结构:
-
B+树:叶子节点通过双向链表连接,支持高效的范围查询。
-
-
查询稳定性:
-
B+树:所有查询必须走到叶子节点,时间复杂度稳定为 O(logn)O(logn)。
-
B树:可能在内部节点命中数据,查询时间不稳定。
-
-
空间利用率:
-
B+树:内部节点仅存键值,可容纳更多索引,减少树的高度。
-
2. InnoDB中的B+树有什么特点?
-
聚簇索引:主键索引的叶子节点直接存储行数据(数据即索引)。
-
非聚簇索