gpt4 book ai didi

database - 数据库中的索引文件

转载 作者:搜寻专家 更新时间:2023-10-30 21:36:45 24 4
gpt4 key购买 nike

谁能解释一下索引文件在数据库中是如何工作的?

即,主二级索引和聚集索引?我不明白的是主索引用于数据库中的有序列,辅助索引用于数据库中的无序文件。我可以通过订购索引文件来理解我们可以执行二进制搜索以更快地找到记录,但我想我不明白的是在寻址已经订购的列时使用主索引有什么意义?与创建主索引相反,您不能在列本身上应用优化搜索算法吗?

最佳答案

我假设您引用的是聚簇索引,您正在查看 SQL Server?据我所知,这特定于各种类型的 SQL Server(例如 Microsoft 和 Sybase)。聚簇索引实际上使表有序。表中的数据按照聚簇索引的顺序插入。其他 RDBMS(例如 Oracle、Informix 等)不使用聚簇索引。

主索引是唯一索引。它是索引主键并强制唯一性的索引。每个表只能有一个主键(因此有一个主索引),但可以有多个唯一列或列组合,因此我们有候选索引;其他非主键的唯一索引。

二级索引不是我遇到的术语,但我相信(来自快速谷歌)它是任何其他非一级索引。因此,它可以是唯一的,也可以不是。如果唯一,则为候选索引。

所以我们最终得到

  1. 聚集索引
  2. 候选索引
  3. 主索引
  4. 二级索引

一个索引可以不止一个,例如次要的、独特的和候选的。

索引通过允许 RDBMS 更快地访问相关数据来加快数据访问(在某些情况下)。想象一下,我说你帮我拿刀叉。你可能会猜到它在厨房里,然后去他们那里开始浏览抽奖。如果你有一个索引说刀子放在厨房的第二个抽屉里,你可以直接去抽屉拿刀。

同样,因为我们写了“select * from table where col = 567”,RDBMS 知道去表中查找数据。但是如果 col 被索引,RDMBS 可以直接转到 '567' 的位置并选择它,而不必查看 col 中的每个值。

关于database - 数据库中的索引文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com