自学内容网 自学内容网

MySQL三层B+树能存多少条数据

参数

在InnoDB中,数据页的默认大小为16KB,可以通过修改innodb_page_size参数调整,真实数据存贮在聚簇索引中,而聚簇索引有以下的结构:

叶子节点页

叶子节点上存放的是完整的数据行,假设数据行的大小为1KB(实际根据数据行大小波动),那么一个叶子节点可以存放:16KB ÷ 1KB = 16 条数据

非叶子节点

非叶子节点存放索引键和指向子节点的指针,假设子节点指针的大小为6字节,索引键(一般为bigint)为8字节,那么一个非叶子节点可以指向:16KB * 1024 ÷ (6+8)≈ 1170 个叶子节点

计算

根叶子节点可以指向 1170 个子节点。
第二层每个非叶子节点可以指向1170个叶子节点。
每个叶子节点可以存放16条数据。
三层B+树能存储:1170 * 1170 * 16 = 21,902,400 ≈ 2000万条数据。
注意:具体存放数量会根据实际的数据大小、页大小等因素略有不同。
在这里插入图片描述


原文地址:https://blog.csdn.net/Wksycxy/article/details/144730671

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!