MySql-索引简述

6次阅读

共计 381 个字符,预计需要花费 1 分钟才能阅读完成。

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

    以主键值的大小为页和记录的排序规则,在叶子节点处存储的记录包含了表中所有的列。

  • 二级索引

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

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