MySQL三层B+树能存多少数据

结论

bigint类型的索引(8字节),一条数据假设是1KB的话,

三层B+树 能存2000万条数据

 该题主要考察数据如何在B+树中存储的

 计算思路

1.计算叶节点的大小
2.计算子节点的个数,由此算出第三层叶子节点的个数(n*n)

  •  一个节点的子节点个数=页大小/(索引键大小+指向该子节点的指针大小)

3.计算每个叶子节点存储的数据行个数(多少条数据)
4.算出第三层能存储的总的数据行数


 b+树的存储结构 ★

根节点,非叶子节点,叶子节点

非叶子节点:存储索引键和子节点指针
叶子节点:完整的数据行

页 介绍

每个节点就是一个页,页是MySql InnoDB引擎中最小的存储单元,一个页里面有一个页目录,存储的是多个 索引键和子节点指针的组合

具体计算

1. 页大小(也就是B+树的一个节点):默认16KB,

16*1024=16384字节

2. 索引键和指针大小

为了方便计算假设索引键是BigInt类型即8字节,指针大小通常是6字节

3.计算扇出

扇出:非叶子节点能拥有的子节点的数量

扇出=页大小 /(索引键大小+指向子节点的指针大小)= 16384/(8+4)≈1170

4. 计算B+树的层级存储能力:

  • 根节点:根节点是一个非叶子节点,可以存储大约1170个索引键和指针
  • 第二层节点:每个根节点的指针可以指向一个第二层的节点,所以第二层最多有1170个节点。每个第二层节点也可以存储1170个指针。
  • 第三层节点(叶子节点):每个第二层节点的指针可以指向多个第三层节点(叶子节点)。因此,第三层的节点数是第二层节点数乘以每个第二层节点的指针数,即1170 * 1170。

5. 计算叶子节无序列表点可以存储的数据行数

  • 每叶子节点存储的数据行数=页大小 / 一条数据(行)大小

          为了方便计算假设一条数据占用1KB

  • 每叶子节点存储的数据行数=16KB/1KB= 16行

  • 而第三层的数据行数:总数据行数=总结点数*每个节点存储的数据行数=1170×1170×16=2,190,2400 行 ≈ 2千万条数据

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

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

相关文章

Leetcode经典题17--两数之和

两数之和 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。 你可以按任意顺…

基于自然语言处理(NLP)的智能客服系统

基于自然语言处理(NLP)的智能客服系统是现代客户服务领域的一项重要技术,它通过模拟人类对话的方式,为用户提供及时、准确和个性化的服务。以下是关于基于NLP的智能客服系统的一些关键要素和功能: 1. 自然语言理解&am…

React Native 集成原生Android功能

React Native 集成原生功能完整指南 前言 在 React Native 开发中,我们经常需要使用设备的原生功能,比如蓝牙、打印机等。本文将以集成打印机功能为例,详细介绍如何在 React Native 项目中集成 Android 原生功能。 集成步骤概述 创建原生…

网络危机公关处理的内涵与价值

互联网发展到今天,已经进入了一个自媒体的新时代,用户发布信息的门槛几乎没有,信息的传播速度也较传统网络更加迅速。新媒体提升了信息传播的效率,但也给负面危机的爆发提供了便利条件,商业经营中企业或高管更容易面临…

单片机优先级

1. pre-emption priority 先占优先级——抢占优先级 抢占优先级是中断能否打断其他中断的属性。 在STM32中,中断服务函数正在执行时,如果发生了一个更高抢占优先级的中断,当前中断会被新的中断打断,形成中断嵌套。抢占优先级由NV…

php时间strtotime函数引发的问题 时间判断出错

在 PHP 中,strtotime 函数能处理的最大时间范围取决于您的系统和 PHP 版本。 一般来说,它可以处理的时间范围从 1901 年 12 月 13 日到 2038 年 1 月 19 日。超过这个范围可能会导致不可预测的结果或错误。 如果您需要处理更大范围的时间,可能…

Spark和MapReduce之间的区别?

1 、性能方面 Spark 在内存中处理数据,而 MapReduce 是通过 map 和 reduce 操作在磁盘中处理数据。因此从这个角度上讲Spark 的性能应该是超过 MapReduce 的。 然而,既然在内存中处理, Spark 就需要很大的内存容量。就像一个标准的数据库系…

win系统B站播放8k视频启用HEVC编码

下载HEVC插件 点击 HEVC Video Extension 2.2.20.0 latest downloads,根据教程下载安装 安装 Random User-Agent 点击 Random User-Agent 安装 配置 Random User-Agent ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/dda0ea75096c42c0a79ef6f6f5521…

中伟视界:AI识别摄像头+AI预警平台在矿山皮带空载监测中的应用

在矿山开采和矿物处理过程中,皮带运输机扮演着举足轻重的角色。它们负责将矿石、煤炭等物料从一处运送到另一处,是矿山生产流程中不可或缺的一环。然而,皮带运输机在运行过程中也面临着一些挑战,其中之一便是皮带空载问题。皮带空…

卷积神经网络入门指南:从原理到实践

目录 1 CNN的发展历史 2 CNN的基本原理 3 CNN核心组件 3.1 卷积操作基础 3.2 卷积层详解 3.3 高级卷积操作 3.3.1 分组卷积(Group Convolution) 3.3.2 深度可分离卷积(Depthwise Separable Convolution): 3.3 池…

CSS系列(35)-- Subgrid详解

前端技术探索系列:CSS Subgrid详解 📐 致读者:探索子网格布局的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS Subgrid,这个强大的网格布局扩展特性。 基础概念 🚀 子网格设置 /* 父网格…

实训项目-人力资源管理系统-1Company子模块

目录 前言: 用例图设计: 系统设计 开发方式: 技术架构 系统结构: API文档: 工程搭建: 搭建父项目 pom: 创建公共子模块: 返回实体: 分布式id生成器: …

2.5.3 文件使用、共享、保护、安全与可靠性

文章目录 文件使用文件共享文件保护系统安全与可靠性 文件使用 操作系统向用户提供操作级、编程级文件服务。 操作级服务包括目录管理,文件操作(复制、删除、修改),文件管理(设置文件权限)。 编程级服务包括…

路由器转发数据报的封装过程

✍作者:柒烨带你飞 💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。 📜系列专栏:网路安全入门系列 目录 路由器转发数据的封装过程 路由器转发数据的封…

Qt5 cmake引用private头文件

Qt5 cmake引用private头文件 如何引用Qt的qzipreader_p.h头文件 、xlsxzipreader_p.h头文件 使用 target_include_directories target_include_directories(TestQtXlsx PRIVATE${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS}${Qt${QT_VERSION_MAJOR}Xlsx_PRIVATE_INCLUD…

vulnhub matrix-breakout靶机

1.搭建靶机 这样就是装好了 获取靶机IP nmap -O 192.168.47.129/24 2.信息收集 dirb http://192.168.47.128 dirb 首页 81端口一个登录页面 gobuster dir -u http://192.168.152.154 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt,html gra…

前端文件导出到Excel文件实用案例:VUE3,ElementPlus,typescript。直接复制可用~~

typescript import * as XLSX from "xlsx"; //1、文件导出的主要方法 /*** 将数据表导出为Excel文件,并根据提供的映射替换表头和排序(如果提供了映射)* param dataTable 数据表,包含要导出的数据* param fileName 导出…

HNUST-数据分析技术课堂实验

1.要求 1,从下列第一、二、三组实验中各至少选取一个算法进行实验,选修组实验不作强制要求;2,实验过程不限,目标在于锻炼算法实现过程,即可采用C、C、Java、Python(建议)等任意语言编…

华为路由器AR101W-S

华为路由器AR101W-S的设定 华为路由器AR101W-S的设定 1、第一次进入登陆的界面 http://192.168.1.1/,默认的帐号:admin,默认的密码:Adminhuawei,登入后会要求修改密码 如果无法进入网址,请操作下面的内…

微信小程序 不同角色进入不同页面、呈现不同底部导航栏

遇到这个需求之前一直使用的小程序默认底部导航栏,且小程序默认入口页面为pages/index/index,要使不同角色呈现不同底部导航栏,必须要在不同页面引用不同的自定义导航栏。本篇将结合分包(subPackages)展开以下三步叙述…