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

mysql b+ tree 3阶索引能存多少数据

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Consider InnoDB whose page size is 16KB and suppose we have an index on a integer column of size 4bytes, so a node can contain at most 16 * 1024 / 4 = 4096 keys, and a node can have at most 4097 children.

So for a B+tree of height 1, the root node has 4096 keys and the nodes at height 1 (the leaf nodes) have 4096 * 4097 = 16781312 key values.

InnoDB的性能

MySQL(默认使用InnoDB引擎),将记录按照页的方式进行管理,每页大小默认为16K(这个值可以修改).linux 默认页大小为4K

 

linux内存页的默认大小是4k

3阶,包含2层索引,每个索引节点4bytes,最后一层要存数据,假设数据大小也是4bytes,最后一层一个叶子节点是 4+4 = 8 bytes 

(4 * 1024 /4 ) * (4 * 1024 /4 )  * (4 * 1024 / 8) = 500 000 000 约为5亿key/value数据

转载于:https://my.oschina.net/u/2935389/blog/3023068

相关文章:

  • Python进阶:如何将字符串常量转化为变量?
  • Spring Boot:快速入门(二)
  • 你可能不太会用的10个Git命令
  • 阿里巴巴复杂搜索系统的可靠性优化之路
  • roncoo-education 2.0.0 正式发布,分布式在线教育系统
  • 如何根据自己业务场景购买阿里云产品
  • springcloud分布式微服务(二):注册中心Eureka
  • SQL 删除数据 的所有用法
  • 小米 2018 年手机销量达 1.187 亿,AIoT 成为营收增长引擎
  • 功能机也不放过,谷歌或为 Chrome 提供非触控模式
  • 关于5G被激烈讨论的那些争端和冲突
  • Java程序员的成长之路
  • 【LeetCode每天一题】Swap Nodes in Pairs
  • 解决ajax 跨域请求问题
  • 红帽发布第四季度和2019财年报告,多项指标维持两位数增速
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【391天】每日项目总结系列128(2018.03.03)
  • CSS相对定位
  • Druid 在有赞的实践
  • HashMap ConcurrentHashMap
  • HTML中设置input等文本框为不可操作
  • JavaScript对象详解
  • Java的Interrupt与线程中断
  • mac修复ab及siege安装
  • python 学习笔记 - Queue Pipes,进程间通讯
  • SQLServer之创建数据库快照
  • vue-loader 源码解析系列之 selector
  • 力扣(LeetCode)22
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 微信小程序设置上一页数据
  • 写给高年级小学生看的《Bash 指南》
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 用Visual Studio开发以太坊智能合约
  • 交换综合实验一
  • ​决定德拉瓦州地区版图的关键历史事件
  • (6)添加vue-cookie
  • (HAL库版)freeRTOS移植STMF103
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)原始图像数据和PDF中的图像数据
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Core WebAPI中封装Swagger配置
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .net 提取注释生成API文档 帮助文档
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .vimrc 配置项
  • @hook扩展分析
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell