侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

数据库为什么需要索引

2024-02-21 星期三 / 0 评论 / 0 点赞 / 29 阅读 / 1811 字

如果我们把数据库与书本的结构对应起来,书的每一页就相当于数据库的每一条记录,而翻书每一页的过程就相当于数据库的扫描,如果你很不幸的把书从第一页翻到了最后一页,那恭喜你,你完成了一个专业的数据库操作:全

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

  我们来想像一种场景,如果你有一本书,一共有1000页,你想去看499页的内容,你会怎么去找呢?

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

  总结一下 : 数据库中加入索引的原因是,当数据库记录过多的时候,加入索引可以先找到相当数据的位置,然后通过位置信息去定点寻找相关记录,从而提高查询效率。

广告 广告

评论区