mysql--索引
转载自https://www.cnblogs.com/zslli/p/8946145.html InnoDb页存储结构 我们可能有很多熟悉的数据库储存引擎,比如说Inoodb,MyISAM,Memory。每一种储存引擎对于数据的持久化可能是不同的,比如说我们的Memory储存引擎的数据都是不会写进磁盘的,所有的数据是保存在内存中的,也就意味着如果我们的服务器进行重启以后,数据是不会被进行保存的。当然,因为MySQL数据库默认的储存引擎是使用的Inoodb,所以我们在这里是需要重点介绍这个储存引擎的。 Inoodb储存引擎是把数据储存在磁盘里面的储存引擎,它在内存和磁盘的交互中使用的是页这个数据单位。我们都知道一个事情就是我们在对磁盘进行访问的时候速度是非常慢的,所以我们肯定是不能接受一条数据一条数据的进行取用。所有数据划分为若干页,一个数据页是可以保存16kb的数据,也就是说我们每次在进行数据访问的时候是一次性的16kb数据。 InnoDb页中记录存储结构 数据页双向链表和页内记录单向链表 聚簇索引 索引的查找就是通过一层一层的定位来实现的,最上层的页我们称之为根节点,中间的我们称之为内节点,最底层的我们称之为叶子节点。我们就是通过页中的槽二分法快速的定位数据所在页或者组中,我们在进行遍历查找。 二级索引 二级索引和聚簇索引的区别就是叶子节点不包括完整的数据。