我需要索引一个FK的列到SQL Server 2008中不同的表中的一个PK?

我有一个有相当大的查询表。 我join的列是另一个表中的PK。 这个列似乎占用了查询时间,使用表扫描,导致我相信SQL Server将无法使用远程表上的索引,并且在我的源表上需要它自己的索引。

我相当肯定我是对的,但如果一个SQL Server 2008的天才可能会涉足这一点,那将是非常好的。

需要索引外键列吗? 不,绝对不是。

应该索引外键列吗? 几乎可以确定。 正如你发现外键列经常在SELECT和JOIN中使用,除非索引它们可以真正杀死你的性能。

你一定要有你的外键列索引! 有些人认为这应该由SQL Server 自动完成 。