SQL密集索引和备用索引

问题描述 投票:0回答:1

我正在为数据库决赛做准备,我想了解这两个问题。您能告诉我哪个是正确的答案以及为什么它是正确的。

  1. 假设您与架构R(X,Y,Z)有关系。 X的每个值都是唯一的,但是其他列可能具有重复值。假定为属性X上的关系R创建了sparse索引。以下哪个查询将有效使用此索引?

    (a)选择最大值(X)从R

    (b)选择最大值(Y)从RX分组]

    (c)选择*从RX <> 30

    (d)选择最大值(Y)从RX = 23的位置

    (e)以上都不有效使用索引

  2. 我相信(a)可能是正确的答案,因为我们有X的索引,而且它们都是唯一的值。

  1. 假设您与架构R(X,Y,Z)有关系。 X的每个值都是唯一的,但是其他列可能具有重复值。假定在属性X和Y

    上为关系R创建了dense索引。以下哪个查询将有效使用此索引?

    (a)选择*从RX

    (b)选择不同的X,Y从RX = 23 AND Y> 39

    (c)选择X,Y从R

    (d)选择X从RY = 23]

    (e)以上都不有效使用索引

    [我相信(c)可能是正确的答案,因为我们有X和Y的索引。

我正在为数据库决赛做准备,我想了解这两个问题。您能告诉我哪个是正确的答案,为什么它是正确的。假设您有一个...

mysql sql sql-server database indexing
1个回答
0
投票

MySQL没有“密集”或“稀疏”。以下是最佳索引:

(a) SELECT MAX(X) FROM R   -- INDEX(X)

(b) SELECT MAX(Y) FROM R GROUP BY X   -- INDEX(x,y); INDEX(x) is not as good

(c) SELECT * FROM R WHERE X <> 30   -- No index is _likely_ to be useful

(d) SELECT MAX(Y) FROM R WHERE X = 23   -- Does not make sense if X is unique

(e) none of the above uses the index effectively  -- Some:  a,b,d
© www.soinside.com 2019 - 2024. All rights reserved.