数据结构---B+Tree

news2024/11/26 0:30:24

文章目录

  • B+Tree
    • 简单了解一下B+Tree
  • MySQL表数据文件
  • MyISAM存储引擎和InnoDB存储引擎的区别?

B+Tree

在我没了解B+Tree之前,听别人提到这个词时,脑子一片空白,懵懵的,今天利用空闲时间,简单了解了一下B+Tree,下面来简单认识一下B+Tree吧!

简单了解一下B+Tree

B+Tree:是为磁盘等外存储设备设计的一种平衡查找树。
他的存储特点有哪些呢?

存储特点
子叶节点存储Data(data元素地址指针位置等),非叶子节点存储索引
叶子节点用指针连接,提高区间访问性能

根据下面这幅图我简单介绍一下
Mysql给每个叶子节点设置大小为16K;
以数值15为例,一般ID都会使用bigint类型,大概会分配8Bigint字节,(数值15旁边的空格为)磁盘地址指针大概会分配6Bitint字节;
以两千万数据为例,高度为3的B+tree数据结构;
叶子节点大概可以存放1170个元素;
非叶子节点可以存放16个元素;
IO读写操作只需要2-3次,即可查询到要查询的数据。

折半查找
看下图:
非叶子结点会提前直接加载到内存中,例如要查找20的索引,前面定位两次非叶子节点都是在内存中查找,不需要和磁盘进行IO操作,进行折半查找,只需要叶子节点进行一次的IO操作,把磁盘数据加载到内存。
在这里插入图片描述

MySQL表数据文件

test_myisam.frm FRM文件 存储的表结构文件
test_myisam.MYD MYD文件 存储引擎
test_myisam.NYI NYI文件 数据文件索引文件

在这里插入图片描述

MyISAM存储引擎和InnoDB存储引擎的区别?

主要是在叶子节点。
MyISAM存储引擎
叶子节点存储的是地址指针的位置
非聚集索引(索引和数据没有放在一个文件里,索引和数据没有聚集在一个文件)
InnoDB存储引擎
叶子节点存储的是地址指针位置对应的节点值
聚集索引(索引和数据放在一个文件里,索引和数据聚集放在一个文件)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/760369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

去掉浮夸,空杯心态重新面对测试

刚开始一头扎进软件测试行业,从踏踏实实的机械化功能测试,到学会和甲方扯皮,到被鄙视的五体投地后抓紧修炼表面功夫来忽悠人,学的最多的反而是怎么与人交流。第一次面对跳槽的机会,我竟然发现自己的测试能力不升反降。…

微服务系统面经

微服务架构 秒杀微服务架构图 项目地址可以参考:秒杀系统 1 一个java的微服务系统中有几个网关? 在一个Java的微服务系统中,网关的数量并不固定,这完全取决于系统的设计和需求。网关服务是微服务架构中的重要组件,它…

架构训练营学习笔记:4-4如何设计存储架构?

存储架构设计的三个步骤 分为:1 估算性能需求 2、选择存储系统 3 设计存储方案 性能估算步骤 一 用户量预估 2B的业务,数据量需要预估,2C的需要决策。 方法: 规划:根据成本、预算、目标等确定 推算:基于…

SRA数据下载的一个坑

前两天协助处理GEO数据上的一个单细胞数据,发现了一个巨坑,这里分享下,希望大家能避开。 需要下载的数据集是,GSE119562,查询SRA Run Selector,找到它对应的SRR编号。 于是,我非常熟练的用pref…

【接口自动化测试】HTTP协议详解

协议 简单理解,计算机与计算机之间的通讯语言就叫做协议,不同的计算机之间只有使用相同的协议才能通信。所以网络协议就是为计算机网络中进行数据交换而建立的规则,标准或约定的集合。 OSI模型 1978年国际化标准组织提出了“开放系统互联网…

java实现敏感词过滤,简单实例,dfa算法

java实现敏感词过滤,简单实例,dfa算法 最近在看黑马的视频学习的时候,看到了,自定义敏感词过滤的,感觉蛮有意思的,记录一下。 直接上实例 第一步初始化敏感词(可以写死,当然在开发…

Ceres Solver简介及使用

Ceres Solver是一个开源的C库,用于建模和解决大型、复杂的优化问题。它是一个成熟、功能丰富且高性能的库,自2010年以来一直在Google生产中使用。最新发布版本为2.1.0,license为BSD,它支持在Windows、Linux、Mac、Android、iOS上编译,源码地址…

D. Black Cells

Problem - 1821D - Codeforces 思路:我们能够发现题意的区间是不重叠的,并且任意两个区间之间的间隔至少是2,我们会发现一个性质,它一定是从前缀中进行选择的,但是前缀中长度为1的区间可以不选择,因为如果长…

STM32单片机示例:使用定时器触发DMA

文章目录 前言基础说明关键配置与代码示例链接 前言 单片机中使用定时器触发DMA是比较好用的一种操作,这里将对此做个示例说明。 基础说明 ST官方的例程中有一个 TIM_DMA 的例程,其功能是启用一个定时器,设置其中一路通道输出PWM&#xff…

【深入浅出Spring原理及实战】「夯实基础系列」360全方位渗透和探究Spring的核心注解开发和实现指南(Spring5的常见的注解)

360全方位渗透和探究Spring的核心注解开发和实现指南 Spring的注解介绍核心基础注解核心注解分析xml文件的配置configuration的配置 Lazy && ScopeComponentScan添加Controller、Service、Repository注入到spring容器ComponentScan多包扫描的属性排除某些包或者类的扫描…

SpringBoot读取配置的6种方式

1. 概述 通过了解springboot加载配置,可以更方便地封装自定义Starter。 在SpringBoot中,可以使用以下6种方式读取 yml、properties配置: 使用Value注解:读取springboot全局配置文件单个配置。使用Environment接口:通过…

详解c++---异常

目录标题 c语言传统处理错误的方式c异常的使用异常的规则服务器常用的异常继承体系异常安全异常的规范异常的优缺点: c语言传统处理错误的方式 第一种: 程序在运行过程中终止了程序,比如说assert int main() {int i 0;scanf("%d"…

5.5 python函数式编程之--返回函数、匿名函数、偏函数(暂时稍微了解即可)

1、 先回归历史:什么是函数函数就是通过将局部【目标】实现并封装起来, 后续可直接拿来用2、 函数式编程: 是把运算过程尽量写成一系列嵌套的函数调用一、返回函数 返回函数: 函数作为返回值闭包: 函数内部定义函…

OJ练习第138题——树中距离之和

树中距离之和 力扣链接:834. 树中距离之和 题目描述 给定一个无向、连通的树。树中有 n 个标记为 0…n-1 的节点以及 n-1 条边 。 给定整数 n 和数组 edges , edges[i] [ai, bi]表示树中的节点 ai 和 bi 之间有一条边。 返回长度为 n 的数组 answe…

Vue项目搭建过程

Vue项目搭建过程 1、安装NodeJs 1.1 下载安装包 在 http://nodejs.cn/download/ 上下载64位安装包,然后进行安装,和普通软件的安装一样。 C:\Users\Administrator>node -v v16.13.1C:\Users\Administrator>npm -v 8.5.51.2 安装cnpm # 安装cn…

什么是「推荐系统」,有哪些主要的推荐方法?

1 什么是推荐系统 什么是推荐系统?根据维基百科的定义, 它是一种信息过滤系统,主要功能是预测用户对物品 的评分和偏好。这一定义回答了推荐系统的功能是过滤信息、连接用户和推送信息。将这一定义扩 展一下, 推荐系统就是自动联…

文献阅读:MathPrompter: Mathematical Reasoning using Large Language Models

文献阅读:MathPrompter: Mathematical Reasoning using Large Language Models 1. 内容简介2. 方法细节3. 实验内容4. 结论&思考 文献链接:https://arxiv.org/abs/2303.05398 1. 内容简介 这篇文章是今年3月份的时候微软提出的一篇工作&#xff0…

SpringBoot中间件—ORM(Mybatis)框架实现

目录 定义 需求背景 方案设计 代码展示 UML图 实现细节 测试验证 总结 定义: ORM:Object Relational Mapping --> 对象关系映射,是一种程序设计技术,用于实现面向对象编程语言里面不同类型系统的数据之间的转换 需求背…

前端|CSS(一)| pink老师

参考视频:黑马程序员前端CSS3基础教程,前端必备基础 目录 📚CSS引入 🐇引入CSS样式表 📚CSS基础选择器 🐇标签选择器 🐇类选择器(最常用) 🐇id选择器 …