数据库为何须要索引

  若是咱们把数据库与书本的结构对应起来,书的每一页就至关于数据库的每一条记录,而翻书每一页的过程就至关于数据库的扫描,若是你很不幸的把书从第一页翻到了最后一页,那恭喜你,你完成了一个专业的数据库操做:全表扫描。数据库

  咱们来想像一种场景,若是你有一本书,一共有1000页,你想去看499页的内容,你会怎么去找呢?索引

  聪明的你必定是不会从第一页一直翻到499页而后再仔细阅读,而是从大概中间的位置翻开,好比你翻到了508页,而后再向前翻到499页。但问题来了,你若是很不幸的不知道你想找的内容在哪一页,那你该怎么作呢?   我相信你最大可能的方法是,从第一页开始看哪一页有你想要的内容,一直到最后一页(表扫描)。当你翻到最后一页的时候,你就完成了一次书的阅读(全表扫描)。   你的这种方式对应的数据库操做就是进行数据库的全表扫描,找到知足条件的记录,而后返回。   若是每一次你想找内容都要把书翻一遍,我相信你必定会崩溃的,那这个时间咱们会选择翻看书的目录(索引),若是找到了咱们想要的内容,知道了它在哪一页,咱们就能够直接翻到指定的页码去看相关内容了。   对应的数据库操做就是,先从加入的索引当中找到主键索引(页码),而后经过主键索引去寻找真正的内容。效率

  总结一下 : 数据库中加入索引的缘由是,当数据库记录过多的时候,加入索引能够先找到至关数据的位置,而后经过位置信息去定点寻找相关记录,从而提升查询效率。方法

相关文章
相关标签/搜索