如果Table1.ColumnA被索引,那么外键Table2.ColumnA_FK也会被索引吗?

时间:2014-01-16 09:02:22

标签: sql sql-server-2008 tsql

我知道默认情况下没有为外键编制索引,但如果原始引用是索引,那么FK也是索引 - 即索引传递吗?

示例:

  • Table1 在列(A,B)上有非群集复合索引
  • Table2 有两个外键,引用了Table1.A和Table1.B

在Table2.A_FK或Table2.B_FK上运行SELECT会提供索引性能,即~O(log [n])而不是非索引的O(n)?在SQL Server Management Studio中,对象资源管理器不会将这两个外键列为Table2的索引。

1 个答案:

答案 0 :(得分:1)

总之 - 没有。 如果你想让table2的字段也被索引,你应该自己明确地索引它(正如你所说,这可能是一个好主意)