2011-01-25 103 views
0

任何人都可以向我解释和回答以下问题吗?我无法理解它们。真的很感谢你的帮助如何选择索引

选择以下每个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’ 

我真的qppreciate为您所有的意见,我没有与该主题相关的任何经验,我只是读一本书,我想知道怎么做了以下几个问题。这是为了自学,而不是为了学校作业。

+3

功课多?,... – 2011-01-25 04:23:15

回答

2

您需要申请你的什么指标是知识,他们是如何工作的每一个场景 - 在大多数现实世界的情况下其不可能知道需要什么索引,而不会使用有代表性的数据进行测试,但你通常可以拿出很好地猜测最佳索引是什么 - 尤其是对于你发布的相对简单的例子。

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

有很多资源上通过谷歌提供的索引,An Introduction to Clustered and Non-Clustered Index Data Structures看起来像一个良好的起点。

如果您需要任何进一步帮助,请通过发送特定关于特定示例的问题来更好地为您服务。