面试:B树与B+树有什么区别?-面试:B树与B+树有什么区别?

AID:
CID:
视频图片:
作者头像:
弹幕地址:
视频描述:

热门回复:

  • 老左讲技术:B+树与B树的设计主要用于提高I/O速度,也就是读取磁盘的速度。无论是记录查询还是索引查询主要受限于硬盘的I/O速度,查询I/O次数越少,速度越快,所以就产生了B树。B树中每个节点都可以存放表的行记录数据,每个节点的读取可以视为一次I/O读取,树的高度表示最多的I/O次数,在相同数量的总记录个数下,每个节点的记录个数越多,高度越低,查询所需的I/O次数越少;假设,硬盘一次I/O数据为8K,数据用4字节建立,理论上一个节点最多可以放2000个记录,2000 × 2000 × 2000 = 8000000000,80亿行的数据只需3次I/O(理论值),可想而知,B树做为数据查询效率有多高。 为了进一步提高磁盘的访问效率,就产生了B+树,B+树与B树最大的不同是内部结点不保存记录数据,只保存关键字,用于查找,所有记录数据都保存在叶子结点中。由于每个非叶子节点只存放关键字,这样节点中能存放的关键字数量就更多,每个节点的扇出数就越大,树的结构就更加矮小,访问磁盘的次数就更少。
  • 琉璃璃daisuki:面试问的我心里已经没有B树了
  • 青春的小物语:周杰和周杰伦的区别[嗑瓜子]
  • 洛克希德马丁空间系统:多了一个加号啊[doge]
  • 大大白丨:像讲b树、b+树都是结合mysql索引来讲吗?