B+Tree示意图如下:
图片来源:BTree和B+Tree详解_b+brtt的结构图-CSDN博客
假设一行数据大小是1k,一页可以存储16行这样的数据。InnoDB的指针占用6个字节的空间,主键假设为bigint,占用字节数为8,那么可得公式:
其中,n表示当前子节存储的key的数量,(n+1)表示指针数量,比key多一个,可以得到n=1170
如果树的高度是2,那么它可以存储的数据量大概为
(1170+1)×16=18736
如果树的高度是3,那么它可以存储的数据量大概为
(1170+1)×(1170+1)×16=21939856
当然,如果有很大的数据,那么就要考虑分表。