数据库面试

mysql是如何查询数据的?

2018-04-20  本文已影响47人  屎倒淋头还嚼便

什么是索引?基本原理

索引的作用:索引的目的就是快速的找到数据的所在行,就是找到该行的地址。

如果查找的数据所在列没有索引,那么,mysql只能从第一行到最末一行,逐行查找,数据量大时,效率很低。

索引也是表,存储着索引列数据、和该数据所在行的地址( 每一行的唯一标识 地址,有主键的话就是主键,主键也是指针地址),两种数据。

查找时,就是根据传入的值,和索引表中的列数据进行比较,从而拿到所在行的地址。再根据地址查询原始表。

1、建立索引,需要设计一种数据存储结构和对应的算法。如mysql的B+树

mysql根据索引所在的列建立一个树状存储结构,每个结点都是一个单独的磁盘文件,并存储部分数据。

如下图所示, 可以只看图,文字解说我没看懂。可以把磁盘块中的数字17、35等理解为实际的表数据(这些数据同时对应存储着原始表的地址)

文章有很多错误,另转一篇文章:索引背后的数据结构及算法原理

地址:https://www.cnblogs.com/tgycoder/p/5410057.html

上一篇 下一篇

猜你喜欢

热点阅读