三层B+树可以存储1170 x 1170 x 16 = 21902400条数据。
在MySQL中,B+树是一种用于索引的数据结构,其特点包括所有记录节点都是按照键值大小顺序存放在同一层的叶子节点上,且非叶子节点仅存储键值信息用于指向对应的子节点。对于MySQL中的InnoDB存储引擎,其默认页面大小为16KB。现在,我们来计算三层填满的B+树可以存储多少数据。 1. B+树结构特点 叶子节点:存储实际的记录数据...
这里我们用最坏的情况来假设一行记录大小为1kb,那么,一个16kb的页就可以存储16行数据。 接下来,我们先画一个只要两层高的B+树结构图。 假设第一层根节点存在以下情况:索引1对应页指针地址10,索引5对应页指针地址30,索引8对应页指针地址50。 第二层节点作为叶子节点,存放的是大小为16kb的页数据,页数据里每一行...
那么可以算出一棵高度为2 的B+树,能存放 1170 * 16 = 18720 条这样的数据记录。 同理: 高度为3的B+树可以存放的行数 = 1170 * 1170 * 16 = 21902400
1、一个B+树能存储多大数据量级? 一般3层的B+树就能满足2000w级的数据存储需求,且查询仅需1-3次IO操作; 2、为什么MySQL的索引要使用B+树而不是其它树形结构?比如B树? (1)因为B树不管叶子节点还是非叶子节点,都会保存数据,这样导致在非叶子节点中能保存的指针数量变少(有些资料也称为扇出),指针少的情况下...
B+树索引、Hash索引、全文索引 我们今天要介绍的是工作开发中最常接触到innodb存储引擎中的的B+树索引。要介绍B+树索引,就不得不提二叉查找树,平衡二叉树和B树这三种数据结构。B+树就是从他们仨演化来的。二叉查找树 首先,让我们先看一张图 从图中可以看到,我们为user表(用户信息表)建立了一个二叉查找...
b+树中的一个节点就是innoDb的一个页(方便加载与存储),即大小为16K。非叶节点不保存数据,只保存主键值和指向下层子节点的指针。叶子节点由一组键值对和一个指向同层下一页的指针(链表),这里键值对是存储的主键值和数据。计算三层树能存储多少数据 如上图,三层树包含两层非叶节点(包含根节点)和一层叶...
这里我们假设一行记录的数据大小为1k左右 总结一下: 如果B+树高度为2的话,那么这棵B+树的存放总记录数为:根节点指针数*单个叶子节点记录行数 = 16kb/14 * 16 大约 1.8w+ 数据。 如果B+树高度为3的话,那么这棵B+树的存放总记录数为:根节点指针数*单个叶子节点记录行数 = 16kb/14 * 16kb/14 * 16...
技术人儿集结!投稿赢平板等多重大奖!