INNODB存储引擎:
(1): 根节点不动
B+Tree索引建立的具体流程如下:
当表刚建立时,表中没有一个数据,此时只有一个数据页(根数据页),该页中没有任何的记录项。当我们不停的插入数据直到根数据页满了。此时如果再想插入数据,MySQL会
新建两个数据页(A,B)。我们会将
根数据页中的记录项全部移动到新建的数据页A中,根数据页变为索引页。
要插入的数据 放入到新建的数据页 B 中
(2):索引页中记录索引的唯一性
当我们根据非主键字段建立索引时,难免不会出现某些索引值相等的情况,如下图

当我们在想插入一个索引值 = 1 的记录时,就不能计算出具体应该插入到哪个数据页。
所以采用如下方案解决:如果索引值相同的话,每条记录上就加上对应的主键值

(3):Innodb存储引擎使用的是聚簇索引
innodb存储引擎在建立表时,会在磁盘上生成两个文件,.frm文件存储表结构 .ibd文件存储表数据和索引