5.2 一个 B+ 树中大概能存放多少条索引记录?


InnoDB 页大小为 16384B=16KB
对于叶子结点,如果一行数据大小为 1k,一页能存 16 条数据
对于非叶子结点,如果 key 使用的是 bigint,为 8 字节。指针在 MySQL 中是 6 字节,一共是 14 字节。则 16k 能存放 16*1024/14=1170 个索引指针。
一颗高为 2 的 B+ 树能存 1170x16=18720 条数据
一颗高为 3 的 B+ 树能存 1170x1170x16=21902400 条数据
所以 2 千多万条的数据只需要高度为 3 的 B+ 树就能存储了。