Если у меня есть такая таблица:
CREATE TABLE MyTable
(
Id INT PRIMARY KEY IDENTITY(1, 1),
FooId INT NOT NULL FOREIGN KEY REFERENCES Foo(Id),
Data NVARCHAR(10) NOT NULL
);
Могут быть сделаны следующие наблюдения:
Кластерный индекс будет создан для столбца первичного ключаId
в таблице MyTable
.
Также, как можно заключить, будет создан кластеризованный индекс для таблицы Foo
для его первичного ключа с именем Id
.
Вопрос:
Будет ли также создан индекс для внешнего ключа Foo.Id
для таблицы MyTable ?
Другими словами, является ли некластеризованный индекс, созданный неявно для каждого внешнего ключа в зависимой таблице .
Другими словами, будет ли общее число индексов, созданных в этой схеме, равным 2 следующим образом:
- Кластерный индекс для первичного ключа
Id
в таблице MyTable
. - Кластерный индекс по первичному ключу
Id
в таблице Foo
.
Или будут следующие 3 индекса:
- Кластерный индекс для первичного ключа
Id
в таблице MyTable
. - Кластерный индекс для первичного ключа
Id
в таблице Foo
. - Неиндекс по внешнему ключу
Foo(Id)
для таблицы MyTable
.
Мой вопрос относится к Microsoft SQL Server 2014.