比方说,我有如下表:两列上的单个非聚集索引或每列上的单独索引?
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