• B+树的特点


    1.B+树是应文件系统产生的B树的变种。它依然是一颗多路查找树,与B树相比它的不同体现在:

    (1).如果非叶子节点包含n个关键码,则这个节点有n个子树。

    (2).非叶子节点仅包含关键码信息,叶子节点包含关键码以及含有这个关键码的记录的指针。所以查找时,B+树必须到达叶子节点才会命中。

    (3).叶子节点包含有兄弟叶子节点的指针,而且叶子节点的关键码值是有序的,有利于遍历。

    (4).所有的非叶子节点可看成是索引部分(稀疏索引)

    2.为什么B+树比B树更适合实际应用中作为操作系统的文件索引和数据库索引?

    (1)B+树的磁盘读写代价更低

    非叶子节点包含的信息更少,如果把同一节点的所有信息放在一个磁盘块中,则可以比B树放入更多的关键码。一次读入内存当中(读一个块)就能读入更多的关键码,所以降低了磁盘I/O总数。

    (2)查询效率更加稳定

    对任何关键字的查找都必须从根节点走到叶子节点,路径长度相同,所以对每条数据的查询效率相当。

    (3)B树在提高磁盘I/O性能的同时并没有解决元素遍历效率低下的问题。而B+树因为叶子节点有链指针存在,所以遍历叶子节点即可以实现对整棵树的遍历。而在数据库中基于范围的查询是非常频繁的,B+树就能更好的支持。

  • 相关阅读:
    【转】Visual Studio 选择相同变量高亮
    匿名委托(方法) 以 ThreadStart 为例
    执行多个Sql脚本,Sqlplus
    【转】Win8 下 管理无线网络
    ORA-22992:没法使用从远程表选择的LOB定位器
    【转】NET中管理数字证书(Digital Certificate)的一些类
    修改数据库内存
    C# 计算一串字符串算法
    奇数平方的九宫格
    lua 的一些常用概念
  • 原文地址:https://www.cnblogs.com/enjoy-ourselves/p/3817794.html
Copyright © 2020-2023  润新知