SQL 2000
的NED表有一個外鍵SIGN表NED.RowID到SIGN.RowID
的SIGN表有一個外鍵NED表SIGN.SignID到NED.SignID
rowid的和SignID是也是GUID(不是我的選擇)聚集主鍵
WHERE子句是:爲什麼在我的聚集索引上有掃描?
FROM
[SIGN] A
INNER JOIN NED N ON A.SIGNID = N.SIGNID
INNER JOIN Wizard S ON A.WizardID = S.WizardID
INNER JOIN [Level] SL ON N.LevelID = SL.LevelID
LEFT JOIN Driver DSL ON SL.LevelID = DSL.LevelID
AND DSL.fsDeptID = @fsDeptID
INNER JOIN [Character] ET ON S.CharacterID = ET.CharacterID
INNER JOIN Town DS ON A.TownID = DS.TownID
WHERE
(A.DeptID = @DeptID OR
S.DeptID = @DeptID
AND
A.[EndTime] > @StartDateTime AND A.[StartTime] < @EndDateTime
AND
A.NEDStatusID = 2
爲什麼會出現在此查詢的SIGN表的索引掃描?什麼會導致聚簇索引上的索引掃描?謝謝
我必須問你對這個查詢有什麼期望,或者你爲什麼認爲在這種情況下索引掃描是一個問題? – Welbog 2009-07-21 19:47:19
你是否來自另一個DBMS,希望看到像散列連接或羣集連接之類的東西?如果是的話,那麼你應該知道在SQL Server中,聚集索引只是一個樹索引,葉節點就是數據頁面。如果您已經知道這一點,那麼請忽略此評論。 – kdgregory 2009-07-21 20:38:57