2011-01-25 101 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看起來像一個良好的起點。

如果您需要任何進一步幫助,請通過發送特定關於特定示例的問題來更好地爲您服務。