面试题:mysql索引的原理以及使用

发布时间 2024-01-08 11:29:44作者: 阿卡ギ

MySQL索引是用于加速查询的数据结构,它能够提高数据检索的速度,从而改善数据库的查询性能。索引的原理基于数据结构,如B树或B+树,用于组织和存储表中的数据记录。

 

 首先数据是以文件的形式存放在磁盘上面的,每一行数据都有它的磁盘地址。如果没有索引的话,要从 500 万行数据里面检索一条数据,只能依次遍历这张表的全部数据,直到找到这条数据。但是有了索引之后,只需要在索引里面去检索这条数据就行了,因为它是一种特殊的专门用来快速检索的数据结构,我们找到数据存放的磁盘地址以后,就可以拿到数据了。

  就像我们从一本 500 页的书里面去找特定的一小节的内容,肯定不可能从第一页开始翻。那么这本书有专门的目录,它可能只有几页的内容,它是按页码来组织的,可以
根据拼音或者偏旁部首来查找,只要确定内容对应的页码,就能很快地找到我们想要的内容。
 
总结:  
  使用的b+tree最小的子节点存储数据,叶节点 和根节点存储 索引范围,比如第一个叶节点范围是 1-20,第二个范围是21-40当查询指定索引到时候 ,会根据叶子节点范围寻址,这样依次向下寻址,直到最小子节点获取内容