首页 > 数据库 >为什么mysql 要用B+树而不用二叉树

为什么mysql 要用B+树而不用二叉树

时间:2023-02-17 16:33:05浏览次数:48  
标签:树而 叶子 查找 二叉树 mysql 查询 数据 节点


 

 

 

 

 

 

1.B+树的层级更少
   B+树的高度一般为2-4层,所以查找记录时最多只需要2-4次IO,相对二叉平衡树已经大大降低了。
   范围查找时,能通过叶子节点的指针获取数据。例如查找大于等于3的数据,当在叶子节点中查到3时,
   通过3的尾指针便能获取所有数据,而不需要再像二叉树一样再获取到3的父节点。
2.B+树查询速度更稳定。
  B+所有关键字数据地址都存在叶子节点上,所以每次查找的次数都相同所以查询速度要比B树更稳定;
3.B+树天然具备排序功能
  B+树所有的叶子节点数据构成了一个有序链表,在查询大小区间的数据时候更方便,数据紧密性很高,缓存的命中率也会比B树高。

标签:树而,叶子,查找,二叉树,mysql,查询,数据,节点
From: https://www.cnblogs.com/wujf-myblog/p/17130624.html

相关文章

  • mysql8 docker 安装
    1.镜像下载dockerpullmysql:8.0.212.创建目录创建data,conf等目录,用于保存mysql的数据3.启动镜像dockerrun-it-d--namemysql--net=host\-v/var/appl......
  • mysql:分组查询每组最新的一条数据
    我们经常遇到类似这样的需求,查询最近N秒、N分钟、N小时的数据及N天的数据,相关的方法和函数很多,本人最近用的MySQL数据库,也就用MySQL为例,大概介绍几种比较通用的方法。一、......
  • 故障案例:MySQL唯一索引有重复值,官方却说This is not a bug
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:飞鱼过天文章来源:GreatSQL社区原创......
  • 【MySQL-视图/存储过程/存储函数/触发器】
    零、本文纲要一、视图二、存储过程三、存储函数四、触发器tips:Ctrl+F快速定位到所需内容阅读吧。一、视图0、表&数据准备--新建表格createtabletb_test(idint......
  • 【MySQL-SQL优化:主键,order by,group by,limit,count,update】
    零、本文纲要一、插入数据二、主键优化三、orderby优化四、groupby优化五、limit优化六、count优化七、update优化update优化tips:Ctrl+F快速定位到所需内容阅读吧。一、......
  • MySQL数据库的几种登录方式
    1234567891011前提:连接进入mysql数据库本机安装的myslq基础信息:host="localhost",数据库主机地址:127.0.0.1port=3306,端口号user="root",myslql数据库......
  • mysql 两表,两个update_time排序问题
    当有2表要联表查询时,各有1个update_time。大于某个时间开始查询,查询更新的数据,根据update_time排序(两张表有可能之更新一张表而已)。 1.工单表CREATETABLE`shop_work......
  • 银河麒麟系统安装mysql数据库
    1.1 准备材料mysql-5.7.28-linux-glibc2.12-x86_64.tar.gzMySQL5.7下载地址https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz......
  • Mysql中的--single-transaction会锁表吗
    当时用mysqldump配置主从的时候,要设置--single-transaction,这个参数将保证备份的数据库处于一致的状态一般的备份语句如下:mysqldump-uroot-S/data/3306/data/mysql.sock......
  • mysql B+ 树与 Buffer Pool
    转自 https://lvwenhan.com/tech-epic/506.html内存缓存BufferPoolBufferPool是在MySQL启动的时候,向操作系统申请的一片连续的内存空间,默认为128MB,强烈建议任何......