答案是两千多万 1.该图是以名字字段建立索引,树的高度为3为例,叶子节点(第三层)的18 15…是我们存储的数据 2.B+树是以页(作为基本单位)来存储数据或者存储索引和指针 3.页是什么?如上图第一行有三个名字那个方框就是一个页当然,第二行和第三行也是 4.每页存储的数据量是16K mysql默认且可以修改,不信可自查 命令 : show VARIABLES like 'innodb_page_size%’ 换算:16384(字节)/1024=16k 5.以bigInt 举例子 它是8个字节 一个指针是6个字节(不要问为什么,你就信了吧)bigInt是mysql 字段类型之一 6.如本文第一个图咱们来计算一下 第一页有多少指向第二层的指针(第一页和第二页只存了索引和指向下一级的指针) 7.16384/(6+8)≈ 1170 8.每一个指针都是一个页,那么第二层有多少页?答案是1170个页,那么每个页是不 也有1170个指针指向第三层,那么第二层有多少指针了?1170*1170 = 1368900 9.第三层是存数据的,那么他能存多少条数据呢? 10.每一个页咱们之前说了他能存16k大小的数据,而每一条数据大概是 1k 我们就按 1k 算,第二层有1368900个指针指向第三层,也就是 说第三层有1368900个页,每一页可以存16条数据,那么第三层可以存 16*1368900 =21902400 两千一百九十多万条数据。 注意:B+树只在最下层存储数据