如何选择索引

时间:2011-01-25 04:22:08

标签: sql

任何人都可以向我解释并回答以下问题吗?我无法理解它们。非常感谢您的帮助

为以下每个SELECT语句选择一个索引。指定您的选择是聚簇还是非聚簇,以及它是哈希索引还是B +树。

a. SELECT S.Name
FROM Student S
WHERE S.Id = ’111111111’

b. SELECT S.Name
FROM Student S
WHERE S.Status = ’Freshman’

c. SELECT T.StudId
FROM Transcript T
WHERE T.Grade = ’B’ AND T.CrsCode = ’CS305’

d. SELECT P.Name
FROM Professor P
WHERE P.Salary BETWEEN 20000 AND 150000

e. SELECT T.ProfId
FROM Teaching T
WHERE T.CrsCode LIKE ’CS%’ AND T.Semester = ’F2000’

我非常感谢您的所有评论,我没有任何与此主题相关的经验,我只是在读一本书,我想知道如何做以下问题。这是为了自学而不是学校的家庭作业。

1 个答案:

答案 0 :(得分:2)

您需要将您的索引知识及其工作方式应用于每个场景 - 在大多数实际情况下,如果不使用代表性数据进行测试,就无法确切知道需要哪些索引,但您通常可以提出很好地猜测最佳指数是什么 - 特别是你发布的相对简单的例子。

阅读更多关于索引的内容,然后针对每个问题仔细考虑涉及哪些列以及如何过滤结果。

Google提供的索引资源很多,An Introduction to Clustered and Non-Clustered Index Data Structures看起来是一个很好的起点。

如果您需要任何进一步的帮助,那么通过发布有关具体示例的具体问题,您将获得最佳服务。