mysql的索引结构

mysql的索引结构

磁盘预读每次读4k的倍数,一次加载一个磁盘块16k

b+tree有2种查找方式:从根节点开始查找; 也可以通过双向链表从最小叶子节点开始找。

myisam和Innodb的数据结构都是b+tree,从上图中可以看到区别是:

Innodb最后的叶子节点存放的是完整数据,这种数据和索引存放在一起的叫做聚簇索引

myisam最后的叶子节点放的是地址,通过地址再查找数据,数据和索引分开存放的叫非聚簇索引

一般创建数据库都是主键自增的,这种适用于单机数据库。

如果是分布式就不能用主键自增,需要用雪花算法设置主键。

key值包括:主键,唯一键,row_id