使用SQL Server 2012.假设我有一个链接表& amp;大小
该表可能看起来像
itemSize
:
itemSizeId (int)
itemId (int)
sizeId (int)
如果我在itemId & sizeId
上定义一个复合索引,以便我可以按大小快速查找项目,还应该为sizeId & itemId
定义一个索引,还是第一个索引覆盖的备用方向? / p>
答案 0 :(得分:3)
您应该根据要在其上使用的查询来定义索引。
如果您想进行以下查询:
where itemId = @itemId
和 其中size = @size
(并且这两个字段没有其他条款),那么你应该有两个不同的索引。
如果您希望SQL Server将索引用于其他目的,例如order by
,则也是如此。