MySql索引存储形式

编程

聚簇索引(聚集索引)、非聚簇索引(非聚集索引),是因为存储引擎不同引起的,存储引擎中InnoDb是聚簇索引、MyISam是非聚簇索引,聚簇索引是数据与索引保存在一个起,非聚簇索引数据一个文件、索引一个文件,数据与索引不在一个文件中。

Mysql的索引以B+Tree的数据结构存储在磁盘,默认存储引擎为InnoDb。

InnoDb

InnoDb非叶子节点中,指针左闭右开是一个区间,区间中保存排序的索引,如1,2,3(数据)P1(指针)5,6,7,P2,8,9,10,P3,根据数据所在区间,根据指针指向另一个磁盘块继续查找,查找到后返回数据,叶子界面保存整行数据。

如果有两个指针,name非主键,设置为索引,查询该索引表,改索引保存的数据为Id值,然后使用查询的Id值去Id索引表去查询,这种现象叫回表

 

MyISam

叶子节点存储的是数据的文件地址,根据地址去数据文件中进行查找

 

学习数据结构网站

https://www.geeksforgeeks.org
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
https://visualgo.net/zh

以上是 MySql索引存储形式 的全部内容, 来源链接: utcz.com/z/518113.html

回到顶部