比方說,我有如下表:兩列上的單個非聚集索引或每列上的單獨索引?
Table: RelationshipType
============================================================
| ID (PK) | ParentID | ChildID | RelationshipType |
============================================================
大多有地方ParentID
和ChildID
選擇在個別情況:
... WHERE ParentID = @SomeID AND ChildID = @SomeOtherID
:
... WHERE ParentID = @SomeID
... WHERE ChildID = @SomeID
有時兩者都在選擇
我想提高這些查詢的性能,但最值得注意的是前兩項。我應該創建一個非聚集索引ParentID
+ ChildID
在一起或一個索引ParentID
和另一個索引ChildID
?
編輯:所有這些查詢都是高度選擇性的(返回1或2條記錄)。
如何有選擇性地查找個人「ParentID」或「ChildID」?無論如何,什麼是「ChildID」?這是一個鏈表而不是樹嗎? –
所有這些查詢都是高度選擇性的(1或2條記錄) – davenewza
在RelationshipType(ParentID)include(ChildID):D上創建非聚集索引asdf,然後使用不同順序的列創建相同的索引,並告訴我們結果:D – WKordos