数据库索引
InnoDB 树的高度计算
1)假设如下:
数据记录大小1KB
->叶子节点(页)可以存 16/1 = 16条数据
关键字和指针bigint 8B + 页指针6B
->非叶子节点可以存 16384/14 = 1170个对象(关键字-页指针)
2)高度为 2 和 3 的 B+树
高度为 2 的 B+树:1170 * 16 = 18720,约存2w条数据记录。
高度为 3 的 B+树:1170 * 1170 * 16 = 21902400,约存2千万条数据记录。
所以:InnoDB中B+树的高度一般为1~3层。mysql查找一页时代表依次IO,通过主键索引只需要1~3次IO。
3)InnoDB 表空间 ibd 文件中,约定page_no为3的,代表主索引的root page.
Simple is Awesome