image.png
    在InnoDB存储引擎中,根据索引的存储形式,又可以分为以下两种:
    image.png
    聚集索引选取规则:
    ➢ 如果存在主键,主键索引就是聚集索引。
    ➢ 如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚集索引。
    ➢ 如果表没有主键,或没有合适的唯一索引,则InnoDB会自动生成一个rowid作为隐藏的聚集索引。

    下图为例:
    聚集索引:叶子节点下存放的是一行的数据
    二级索引:存放的是name元素的id
    image.png

    image.png

    image.png

    提高题:
    image.png
    image.png

    image.png
    InnoDB主键索引的B+tree高度为多高呢?
    假设:
    一行数据大小为1k,一页中可以存储16行这样的数据。InnoDB的指针占用6
    个字节的空间,主键即使为bigint,占用字节数为8。
    高度为2:
    n 8 + (n + 1) 6 = 161024 , 算出n约为 1170
    1171
    16 = 18736
    高度为3:
    1171 1171 16 = 21939856