什么是索引?基本原理
索引的作用:索引的目的就是快速的找到数据的所在行,就是找到该行的地址。
如果查找的数据所在列没有索引,那么,mysql只能从第一行到最末一行,逐行查找,数据量大时,效率很低。
索引也是表,存储着索引列数据、和该数据所在行的地址( 每一行的唯一标识 地址,有主键的话就是主键,主键也是指针地址),两种数据。
查找时,就是根据传入的值,和索引表中的列数据进行比较,从而拿到所在行的地址。再根据地址查询原始表。
1、建立索引,需要设计一种数据存储结构和对应的算法。如mysql的B+树
mysql根据索引所在的列建立一个树状存储结构,每个结点都是一个单独的磁盘文件,并存储部分数据。
如下图所示, 可以只看图,文字解说我没看懂。可以把磁盘块中的数字17、35等理解为实际的表数据(这些数据同时对应存储着原始表的地址)。
文章有很多错误,另转一篇文章:索引背后的数据结构及算法原理
地址:https://www.cnblogs.com/tgycoder/p/5410057.html
网友评论