常见面试题:mysql数据库一颗b+树深度大概是多少?

这要从b+树的结构和数据库索引大小去分析问题,索引字段占内存大小,指针占内存大小(6字节 6Byte,或者6B)

1、先看看b+树结构

下面看一颗树

第一行中,1,320为索引数据排序后的数据范围,这里叫键值key,1-30,320- 32 对应的是页指针,指向下一页

* b+树非叶子节点存放的都是key+nest指针。叶子节点存放数据

*在mysql索引b+树中,非叶子节点键值数=子节点数

2、计算

在mysql索引中索引页默认大小16k

SHOW VARIABLES LIKE 'innodb_page_size';

一页可以理解成一个节点(非叶子节点或者叶子节点)

先假设一个变量

每行数据量大小1K

索引字段Int:4字节(4byte)

bigint:8byte

verchar:一个字符占3byte

那么一页可以最多有多少子节点呢(bigint而言)指针在InnoDB中为6字节

16384/(8+6) = 1170

在叶子节点中每页16K,每行数据1K,那么就是16条记录

所以b+树深度和数据库数量的关系

1170(n-1)次方 * 16

深度=3的b+树

1170 *1170 *16 = 21902400(2千万数据)

所以一般数据库b+深度也就3-5层

mysql 数据库索引b+树深度问题相关推荐

  1. mysql索引 b树_B树与MySQL数据库索引.ppt

    B树与MySQL数据库索引 * B+树及MySQL数据库索引 厦门大学数据库实验室 罗道文 2014-08-02 ?B树以及B+树的特点以及原理 ?MySQL存储引擎MyISAM和InnoDB的B+树 ...

  2. 深度解密Mysql数据库索引

    文章目录 深度理解Mysql数据库索引 Mysql索引的基本概念 索引分类 Mysql中索引的语法 创建索引 删除索引 查看表中的索引 查看查询语句使用索引的情况 索引的优缺点 优点 缺点 索引的实现 ...

  3. 为什么MySQL数据库索引选择使用B+树?

    在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使 ...

  4. Mysql数据库索引原理及算法原理

    前言 面试的时候总会被提及一些关于数据库操作的问题,那么数据库索引作为一项热门问题,总会被问到.最近在网上看到了一篇关于mysql数据库索引的好文章,认真看完之后肯定受益匪浅,(虽说有的地方我不太理解 ...

  5. [数据库] 一文读懂Mysql数据库索引实现原理

    咱们用了这么久Mysql数据库做项目,你知道数据是怎么存在数据库里吗?他们是如何存储的吗? 今天咱们就来扒一扒Mysql数据库索引的底层实现,Mysql数据库的索引是由都是由B+树实现的,那为什么不是 ...

  6. Mysql数据库索引的理解及聚簇索引和非聚簇索引的区别

    Mysql数据库索引的理解及聚簇索引和非聚簇索引的区别 概念 索引是帮助Mysql搞笑获取数据的数据结构 对Mysql数据库来讲,其核心就是存储引擎,而索引就是属于存储引擎级别的概念,不同的存储引擎对 ...

  7. 面试必问:一文弄懂MySQL数据库索引之底层数据结构和索引类型

    面试必问:一文弄懂MySQL数据库索引之底层数据结构和索引类型 前言 一.索引 1.1作用 1.2特点 1.3使用 1.3.1创建索引 1.3.2删除索引 1.3.3查看表中的索引 1.3.4查看SQ ...

  8. MYSQL数据库-索引

    MYSQL数据库-索引 零.前言 一.索引概念 二.认识磁盘 三.理解索引 1.如何理解Page 2.B+ vs B 3.聚簇索引 VS 非聚簇索引 4.普通索引 5.总结 四.索引操作 1.创建索引 ...

  9. mysql数据库-索引基础篇

    1.索引介绍 1.索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),他们包含着对数据表里所有记录的引用指针.是一种数据结构是一种数据库系统中排序的数据结构,以协助快速查询,更新 ...

最新文章

  1. umi搭建react+antd项目(一)环境配置
  2. Scala基础 - 下划线使用指南
  3. OpenCV 4.1.0 + Visual Studio 2019 开发环境搭建 超级简单
  4. python pandas读取csv_Python3 pandas怎么读取csv文件的第一行的
  5. jvm内置锁synchronized不能被中断
  6. STM32 解析futaba S-bus协议
  7. leetcode 264. 丑数 II(堆)
  8. python的socket模块_python模块:socket模块
  9. Python小白的数学建模课-06.固定费用问题
  10. 步步高DVD机DV603的U盘模式支持视频格式
  11. 使用Bootstrap + Vue.js实现 添加删除数据
  12. team网卡配置_主流服务器网卡Teaming模式配置(上)
  13. 虚拟机 fedora 18 服务器,VM虚拟机中的Fedora设置固定IP上网的方法
  14. 乐视网被列入经营异常名录 因登记经营场所无法联系
  15. licode学习之erizo篇--Pipeline_service
  16. 【干货】Python玩转各种多媒体,视频、音频到图片
  17. 十次方项目 请仔细查看
  18. 互联网晚报 | 10月16日 星期六 | 搜狗正式并入腾讯;宏光MINIEV累计销量破40万台;神舟十三号载人飞船成功发射...
  19. PPT——点鼠标,切换到下一页时,出现延迟几秒的解决办法
  20. PS 色相、饱和度、明度

热门文章

  1. 股票python量化交易028-easytrader调用同花顺自动交易弹出验证码的处理
  2. 刚写的 软件 求大家评论一下 看看 效果 后期抽空写个软件的教程
  3. 2021通信安全员考试及(安全员)模拟考试单选题答案解析
  4. Java拼图小游戏总结
  5. 预览后缀名为dwg的文件
  6. 在计算机组装中如何判断硬件的型号,电脑配置如何看?查看电脑配置好坏的方法 (值得收藏学习)...
  7. 华为荣耀的激活锁是什么如何解开呢卡在激活设备手机无法进系统学会几种有用的方法
  8. ATAC-seq分析:数据介绍(2)
  9. Spring Cloud 第十五天
  10. 文科如何晋级计算机职称,文科学历的人也想评工程师职称怎么办,这些条件满足就行...