当前位置: 首页 > news >正文

探索数据存储的奥秘:深入理解B树与B+树

  • key value 类型的数据
  • 红黑树(最优二叉树,内存最优),时间复杂度:O(logn),调整方便;一个结点分出两个叉
  • B树一个节点可以分出很多叉
  • 数据量相等的条件下:红黑树的层数很高,B树的层数就会比较低(一个节点可以分出很多叉)
  • 层数比较低,查找数据的时间比较少;层数影响查询数据的次数
数据以文件的形式存储
  • 为什么内存(用红黑树)不用B树?
减少寻址次数,增加对比次数(B树);减少对比次数,增加寻址次 数(红黑树);磁盘寻址时间较长,所以要减少寻址次数,用B树。
  • 数据库底层的数据结构是B+树,提高查询效率。可用于区间查询
如: select * from user where id>=10 and id<=18
  • B+ 树的优点在于:
  1. 由于B+树在非叶子结点上不包含真正的数据,只当做索引使用,因此在内存相同的情况下,能够存放更多的key。
  2. B+树的叶子结点都是相连的,因此对整棵树的遍历只需要一次线性遍历叶子结点即可。而且由于数据顺序排列并且相连,所以便于区间查找和搜索。而B树则需要进行每一层的递归遍历。
  • B树的优点在于:
  1. 由于B树的每一个节点都包含key和value,因此我们根据key查找value时,只需要找到key所在的位置,就能找到value,但B+树只有叶子结点存储数据,索引每一次查找,都必须一次一次,一直找到树的最大深度处,也就是叶子结点的深度,才能找到value。
http://www.lryc.cn/news/519493.html

相关文章:

  • Web渗透测试之XSS跨站脚本之JS输出 以及 什么是闭合标签 一篇文章给你说明白
  • EasyExcel的应用
  • VS Code的设置功能以及多层级的设置方式与解密
  • UI自动化测试框架playwright--初级入门
  • SQL多表联查、自定义函数(字符串分割split)、xml格式输出
  • Fast API使用
  • LLM - Llama 3 的 Pre/Post Training 阶段 Loss 以及 logits 和 logps 概念
  • MySQL 中删除重复数据 SQL 写法
  • docker minio镜像arm64架构
  • VUE3 监听器(watch)
  • CAPL如何设置TCP/IP传输层动态端口范围
  • 随记:有关Springboot项目中的时间格式实现的几种方式
  • IntelliJ IDEA 优化设置
  • jsp企业财务管理系统设计与实现
  • EscherNet运行笔记
  • Java中的反射机制及其应用场景
  • 信息科技伦理与道德3:智能决策
  • 青少年编程与数学 02-006 前端开发框架VUE 16课题、组件基础
  • 25/1/11 算法笔记 Yolov8物体识别
  • 水水水水水水
  • XS5037C一款应用于专业安防摄像机的图像信号处理芯片,支持MIPI和 DVP 接口,内置高性能ISP处理器,支持3D降噪和数字宽动态
  • 机器学习无处不在,AI顺势而为,创新未来
  • pandas处理json的相关操作
  • linux内存泄露定位过程(kmemleak和slab debug)
  • 2025年安卓面试复习总结
  • JS scrollIntoView 技巧揭秘:解锁网页流畅交互
  • 【Ubuntu 24.04】常见问题解决
  • 前端依赖安装指南
  • 灌区闸门自动化控制系统-精准渠道量测水-灌区现代化建设
  • ELK实战(最详细)