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

简答题网站建设的主要内容石家庄百度seo代理

简答题网站建设的主要内容,石家庄百度seo代理,织梦云建站系统,朝阳网络科技有限公司为什么MySQL底层数据结构选择B树?(而不是B树等其他数据结构) B树非叶子节点,不存放数据记录,仅存放指针与关键字,所以一个B树非叶子节点可以存放更多子节点信息,有利于降低树高度,从…

为什么MySQL底层数据结构选择B+树?(而不是B树等其他数据结构)

B+树非叶子节点,不存放数据记录,仅存放指针与关键字,所以一个B+树非叶子节点可以存放更多子节点信息,有利于降低树高度,从而减少搜索IO次数。
相反,B树的叶子节点与非叶子节点数据结构一致(存放 数据记录+子节点指针 + 关键字),导致,B树非叶子节点可存放子节点指针空间减少,树高度增高,IO次数增多,性能降低。故,不选择。

为什么树越高,磁盘IO次数越多?

InnoDB 存储引擎存在自身文件管理机制,其最小存储单位为页(Page), 大小为 16KB。页,即为B+树中节点存储结构。所以,B+ 树越高,层级节点搜索次数越多,对应的磁盘IO次数随之增多,引擎性能随之降低。

扩展:
计算机中磁盘存储数据最小单元是扇区,一个扇区的大小是 512字节 。文件系统(如XFS/EXT4)最小单元是块,一个块的大小是 4KB。

【经典问题】

一颗B+树一般可以存放多少条数据记录?

  1. InnoDB 页的默认大小 16KB;
  2. InnoDB 主键ID bigint 类型大小为 8 Bytes;
  3. InnoDB 中指针大小为 6 Bytes;
  4. 互联网业务数据记录大小通常为 1KB;
  5. 叶子节点只放置数据记录数量:16KB / 1KB = 16;

开始计算:
假设 Mysql B+ 树高为 3 层。16 KB = 16384 Bytes
一个非叶子节点可包含的指向子节点的指针数量:16384 / (8 + 6) = 1170
2 层树高: 1170 * 16; (1170: 指第一层总共有1170子节点指针,说明第二层存在1170个叶子节点; 16: 指每一个叶子节点上可以放置 16 条数据记录。所以,2层树高的B+树,可以存放 1170 * 16 条数据记录)。
3 层树高:1170 * 1170 * 16; (与上同理。新增了一层非叶子节点,则需要多乘以一层的子节点数量,这里就已经满足千万级别数据量的数据库)。

http://www.tj-hxxt.cn/news/103664.html

相关文章:

  • 广渠门网站建设网络舆情分析报告
  • 有谁知道网站优化怎么做百度域名注册查询
  • 浙江省建设政务网站免费的网站平台
  • 增城网站怎么做seo湖南专业seo优化
  • 茶叶网站制作模板免费建网站哪家好
  • 商城网站制作公司地址软件开发app制作
  • 论文做系统简单还是网站简单学生网页设计模板
  • 百度怎么自己做网站西安网站建设公司排行榜
  • 遵义新蓝外国语学校网站建设网文网站排名
  • 经典网站建设网络营销怎么推广
  • 国内域名购买网站网站创建免费用户
  • 住房城乡建设厅网站准考证家庭优化大师下载
  • 做家政有什么网站做推广好地产渠道12种拓客方式
  • 招聘模板图片关键词优化系统
  • 公司网站建设一年多少钱百度快照是怎么做上去的
  • 网站建设3d插件如何自己开个网站平台
  • 淘宝站内推广方式有哪些山东网站建设
  • 扬州网站推广地推团队去哪里找
  • 罗源做网站的公司百度排名怎么做
  • 软件开发与网站建设长沙网站开发
  • 企业汽车网站建设58百度搜索引擎
  • 成都网站建设 创新互联软文案例300字
  • 龙山建设工程有限公司网站产品市场推广方案范文
  • 12306网站建设花了多少钱西安网络优化哪家好
  • 高端网站制作福建省人民政府
  • 国家卫生健康委电话号码优化seo是什么
  • 顺德制作网站企业所得税优惠政策
  • 做后台财务系统网站宁波seo外包推广
  • python做网站稳定吗太原seo自媒体
  • 购买建立网站费怎么做会计凭证百度网页版主页