【问题标题】:primary index, equality on nonkey - Silbershatz Database System Concepts, A3主索引,非键相等 - Silbershatz 数据库系统概念,A3
【发布时间】:2018-09-02 18:00:49
【问题描述】:

在 Silbershatz Database System Concepts 6th Ed.,第 12 章,par。 12.3.1,页。 542,有一个算法的解释,用于处理一个查询,该查询是通过对关系的非键属性施加等式约束来选择的,使用主索引。

该段落声称从文件中读取将是连续的,因为文件是按搜索键排序的。

我不明白 - 为什么读取是连续的?

在我看来,记录是按主索引的聚类键排序的,选择是使用非键属性,所以这些属性可能包含在关系的每条记录中。我看到检索所有记录的唯一方法是对所有关系进行线性扫描。

【问题讨论】:

    标签: database indexing


    【解决方案1】:

    在此上下文中,primary index, equality on non-key 表示我们在某个属性上具有主索引,即A(即,记录在磁盘上基于A 进行物理排序)。这里non-key表示A属性可能存在多个具有相同值的记录,也就是说A不保证唯一。然而,选择确实是在主索引的集群键 A 上使用相等性。

    因此,算法变为如下:使用索引获取满足相应相等条件的第一条记录,然后使用线性扫描直到条件破坏。

    为了确保这有意义,请查看算法 A4:

    简而言之,这里non-key只表示索引字段不唯一


    您可以进一步参考these 幻灯片中的幻灯片 13。并查看名称的措辞方式。


    作为旁注:注意这张幻灯片上写的成本与书中写的成本之间的差异ts,但它真的不应该错过它,因为它明确存在于 A2 的成本中,而且很明显在第 543 页的图 12.3 中的解释中说明了这一点。这可能是书中的错字。这其实并不重要,我只是想指出这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多