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

上传下载文件网站开发的php源码建站工具 phpwind

上传下载文件网站开发的php源码,建站工具 phpwind,深圳市seo网站设计哪家好,成都建设银行分行招聘网站B-树和B树的区别 一、B-tree数据存储 在下图中 P 代表的是指针,指向的是下一个磁盘块。在第一个节点中的 16、24 就是代表我们的 key 值是什么。date 就是这个 key 值对应的这一行记录是什么。 假设寻找 key 为 33 的这条记录,33 在 16 和 34 中间&am…

B-树和B+树的区别

一、B-tree数据存储

在下图中 P 代表的是指针,指向的是下一个磁盘块。在第一个节点中的 16、24 就是代表我们的 key 值是什么。date 就是这个 key 值对应的这一行记录是什么。
在这里插入图片描述
假设寻找 key 为 33 的这条记录,33 在 16 和 34 中间,所以会去磁盘 3 进行寻找。

在磁盘 3 中进行判断,指针指向磁盘 8。在磁盘 8 中即可获取到数据 33,然后将 data 返回。

一般说到的页都是数据页。默认的页面大小为16kb,每个页中至少存储2条或以上的行记录。那么根据 BTree 数据查找的过程中可以得知一共读取了三个磁盘,那么每个磁盘的大小就是 16kb。

而目前的给的案例寻找了三层,那么三层存储的数据就是:16kb16kb16kb=4096kb
如果按照一条记录所需内存 1kb,那么这三层的 BTree 就可以存储 4096 条记录

数据库的数据少则几百万,多则几千万数据,那么 BTree 的层级就会越来越深,相对的查询效率也会越来越慢。

这里就要考虑为什么在 Btree 中 48kb 的内存怎么就只能存储 4000 多条记录?

问题就出现在 data 上,要知道在计算数据大小时指针地址和 key 的内存都是没有计算在内的,单单就计算了 data 的内存。

问题就出现在 data 上,要知道在计算数据大小时指针地址和 key 的内存都是没有计算在内的,单单就计算了 data 的内存。

二、B+Tree数据结构实现过程

在这里插入图片描述

对比B树的数据存储结构可以看到:

1. 对比B树的数据存储结构可以看到: B+Tree 所有的叶子节点之间是一种链式环结构。
2. B+树非叶子节点不存储data数据,只存储主键数据以及相关指针数据。

那么在这个过程中到底读取了多少条数据呢?

假设B+Tree 读取数据的深度跟 B-Tree 的深度一样,都是三层,那么同样的道理每个磁盘的大小为 16kb。

那在 B+Tree 中非叶子节点可以存储多少数据呢?一般来说我们每个表都会存在一个主键。

根据三层来计算,第一层跟第二层存储的是 key 值,也就是主键值。

由于 int 类型所占的内存是 4Byte(字节),指针的存储就给个 6Byte,一共就是 10Tybe,那么第一层节点就可以存储 161000/10=1600。

同理第二层每个节点也是可以存储 1600 个 key。

第三层是叶子节点,每个磁盘存储大小同样安装 BTree 的计算一样,每条数据占 1kb。

那么在 B+Tree 中三层可以存储的数据就是 1600160016=40960000
足以见得,B+Tree四层时已经是40960000 * 1600 条数据,足以见得已经能够满足绝大部分数据存储需求

可见:
1.B树索引结构,InnoDB引擎三次磁盘IO只能查到4096条数据,而B+树索引结构三次磁盘IO能够查到40960000.相差万倍;
2.innodb对磁盘默认一次读取16KB字节大小,Linux系统默认读取4KB字节大小。故InnoDB在说IO磁盘操作时是Linux系统磁盘操作次数的四倍。

http://www.yayakq.cn/news/20531/

相关文章:

  • 网站制作的流程怎么在网上做装修网站
  • 招聘 负责网站开发wordpress打包app
  • 网站建设与推广综合实训报告册长丰网站制作
  • 建站平台入口网站推广的好处
  • 做外贸在哪个网站教育网站制作网站
  • 如何用asp.net做网站大连云购物app下载安装到手机
  • 优惠券网站开发网站 正在建设中
  • 网站建设与单位干部作风的关系室内设计联盟官方网站图片
  • 哪个是网站建设里面的网站更换ico文件位置
  • 做水果网站弄个什么名字一个人做网站用什么技术
  • 潍坊市住房和城乡建设局网站下载广州中学生网站制作
  • 苏州网站建设企业网站制作保定seo外包服务商
  • 南宁品牌网站设计公司知识库管理系统
  • 云南建设投资控股集团有限公司网站用开源吗做的网站可以用吗
  • 北京++网站建设咨询顾问公司访问网页的流程
  • app开发分为哪几种滁州百度seo
  • 支付宝网站开发流程网站开发职业工资
  • 网站首页是什么河南建设厅官方网站
  • 网站做中英文切换济南市建设监理有限公司网站
  • 英文网站设计多少钱网站建设部门
  • 宝安区住房和建设局网站wordpress yzipicc
  • 西宁市网站建设高端网络平台建站流程
  • 页眉做的好的网站网站中新颖的功能
  • 做网站代理工作安全吗网站建设找单
  • windows 2008 网站wordpress 模板使用
  • 网站策划书撰写流程东莞网站建设公司服务平台
  • 梭子手做鱼网站家具设计师
  • 网站开发注意事项泸州网站建设多少钱
  • 网站开发的条件电商会学着做网站呢
  • 个人网站设计论文ppt怎样做3d动画短视频网站