【数据库】聚簇索引/非聚簇索引

什么是聚簇索引/非聚簇索引

叶子节点:最下面那一层
聚簇索引:叶子节点上直接存储的数据
【数据库】聚簇索引/非聚簇索引
非聚簇索引:叶子节点上存储的是索引值和对应数据的地址
【数据库】聚簇索引/非聚簇索引
直接看起来聚簇索引查询效率应该比非聚簇索引效率高,毕竟少了一次地址查询的过程。但是加上辅助索引就不这么想了。
相关内容这篇写的不错

为什么我们见到的索引都是三层树结构

对于mysql他的每一个结点默认大小为16KB,假设索引值为int即4B同时指针(结点值之间的指针,就上图的空白部分)占6B,那么一个结点可以存储16KB/10B = 1648条数据
【数据库】聚簇索引/非聚簇索引
假设叶子节点每条数据1kb,一个叶子节点可存储16条
总数据数 = 1648x1648x16 = 4千来万
所以一般数据3层足够储存