1. 对于InnoDB存储引擎来说,在单个页中查找某条记录分为两种情况:
  • 以主键为搜索条件,可以使用Page Directory通过二分法快速定位相应的用户记录。
  • 以其他列为搜索条件,需要按照记录组成的单链表依次遍历各条记录。
  1. 没有索引的情况下,不论是以主键还是其他列作为搜索条件,只能沿着页的双链表从左到右依次遍历各个页。
  2. InnoDB存储引擎的索引是一棵B+树,完整的用户记录都存储在B+树第0层的叶子节点,其他层次的节点都属于内节点内节点里存储的是目录项记录InnoDB的索引分为两大种:
  • 聚簇索引

    以主键值的大小为页和记录的排序规则,在叶子节点处存储的记录包含了表中所有的列。因此实际上聚簇索引是一种存储结构,而不是单纯的索引

  • 二级索引

    以自定义的列的大小为页和记录的排序规则,在叶子节点处存储的记录内容是列 + 主键

  1. MyISAM存储引擎的数据和索引分开存储,这种存储引擎的索引全部都是二级索引,在叶子节点处存储的是列 + 页号

老污的猫
30 声望5 粉丝

« 上一篇
InnoDB 页结构
下一篇 »
B-Tree & B+Tree