注意:如果重要的话,我在SQL Server 2012上使用Entity Framework。
我有一个主要阅读的表,它很少更新。数据库大小不是问题,速度是。
有一个标准的PK ID字段。在选择中,始终在
上查询这两个int PersonID
int NationID
如果我在每个单独放置一个索引,或者在这两个上放置一个NONCLUSTERED,那么查询是否更快:
CREATE NONCLUSTERED INDEX IX_mytable_Nation_person ON dbo.mytable
(
NationId,
PersonId
) WITH( STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
答案 0 :(得分:0)
取决于您查询的 。
如果你有......
WHERE PersonID = ... AND NationID = ...
...使用复合索引。
如果你有......
WHERE PersonID = ... OR NationID = ...
...使用单独的索引。