首页 > 编程知识 正文

说话是为了什么而不是什么,华而不是什么生肖

时间:2023-05-04 11:13:29 阅读:215269 作者:3611

出于对IO性能的考虑B树每个节点都存储数据,而B+树只有叶子节点才存储数据,所以在查询相同数据量的情况下,B树的IO会更频繁。因为索引本身存储在磁盘上,当数据量大时,就不能把整个索引全部加载到内存,只能逐一加载每一个磁盘页。更何况B树的索引中还保存了数据信息,导致B树的一个磁盘页保存的索引数量也比较少。即加载索引阶段还加载了许多用不到的数据。遍历效率更高:由于B+树的数据存储在叶子节点上,分支节点均为索引,方便扫库,只需要扫描一遍叶子即可,而且叶子节点形成链表,范围查询也比较方便。但B树在分支节点都保存这数据,要找到具体的顺序数据,就需要执行一次中序遍历来查询。因为B树不管叶子节点还非叶子节点,都会保存数据,这样导致了非叶子节点中能保存的指针数量就变少,指针少的情况下还要保存大量数据,就只能增加树的高度,导致IO操作变多,查询性能变低

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。