zoukankan      html  css  js  c++  java
  • 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+树就能更好的支持。

  • 相关阅读:
    DataPager 分页样式(css)
    Mysql日志详解
    Oracle 优化器
    [oracle]对象统计数据
    [oracle] analyze 和dbms_stats 的区别
    增加SAP HEAP大小
    Problems with SYSDBA/SYSOPER/INTERNAL connect
    Physical Standby Switchover_status Showing Not Allowed
    REHL8 oracle 19C RAC安装中的坑
    REHL8 oracle 19C RAC安装四(数据库创建)
  • 原文地址:https://www.cnblogs.com/enjoy-ourselves/p/3817794.html
Copyright © 2011-2022 走看看