3 Stimmen

Macht die Angabe eines Fremdschlüssels diesen zu einem Index?

Ich habe eine Tabelle T mit einem Primärschlüssel id und einem Fremdschlüssel f. Ist f automatisch indiziert, wenn es als Fremdschlüssel angegeben ist? Muss ich explizit einen Index für f hinzufügen?

5voto

Chris J Punkte 29515

Es wird kein Index erstellt. Sie müssen also explizit einen Index hinzufügen.

Bearbeitet um hinzuzufügen... Ich sollte vielleicht noch hinzufügen, dass die Quelltabelle/Spalte für die Daten in Tabelle T einen eindeutigen Index haben muss. Wenn Sie versuchen, einen FK zu einer Spalte zu erstellen, die kein eindeutiger Index ist (entweder als PK oder mit einer UNIQUE-Beschränkung), kann der FK nicht erstellt werden.

5voto

Donald Byrd Punkte 7378

Nein, es handelt sich um eine Einschränkung, nicht um einen Index.

siehe Werden Fremdschlüssel in SQL Server automatisch indiziert?

0voto

Arnkrishn Punkte 28604

Im Falle der Fremdschlüssel-Beschränkung wäre der Fremdschlüssel f in Tabelle T ein Primärschlüssel in der referenzierten Tabelle T2. In SQL Server wird automatisch ein geclusterter Index erstellt, wenn T2 erstellt wird.

Prost

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X