面试题答案
一键面试- 特性:
- 数据存储结构:
- B+树所有数据记录都存放在叶子节点,非叶子节点仅用于索引,这样可以使得每个非叶子节点能存放更多的索引项,从而降低树的高度,减少I/O操作。例如,对于千万级数据量的表,B+树可能只需要3 - 4层就能索引全部数据,而其他结构可能需要更多层,每次查询都要多几次磁盘I/O。
- 顺序访问:
- 叶子节点之间通过双向链表相连,这使得范围查询变得高效。比如在查询价格在100到200之间的商品记录时,B+树可以从索引找到价格为100的记录,然后通过链表顺序向后读取到价格为200的记录,而不需要像某些索引那样每次都重新定位,大大提高了范围查询效率。
- 全页遍历:
- B+树叶子节点可以顺序遍历,对于需要全表扫描的查询场景,B+树可以按照叶子节点顺序依次读取数据,减少磁盘I/O的随机访问,提高全表扫描性能。例如,在统计所有用户的总积分时,B+树可以高效地顺序读取每个用户记录并计算积分总和。
- 数据存储结构: