Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Beziehung von Primary Key und Clustered Index

Ein Primärschlüssel ist ein logischer Schlüssel Konzept - es ist die eindeutige Kennung für eine Zeile in einer Tabelle. Als solches hat es eine Reihe von Attributen - es darf nicht null sein und es muss eindeutig sein. Da Sie wahrscheinlich häufig nach Datensätzen anhand ihrer eindeutigen Kennung suchen, wäre es natürlich gut, einen Index für den Primärschlüssel zu haben.

Ein gruppierter Index ist ein physischer Konzept - es ist ein Index, der die Reihenfolge beeinflusst, in der Datensätze auf der Festplatte gespeichert werden. Dies macht es zu einem sehr schnellen Index beim Zugriff auf Daten, obwohl es Schreibvorgänge verlangsamen kann, wenn Ihr Primärschlüssel keine fortlaufende Nummer ist.

Ja, Sie können einen Primärschlüssel ohne Clustered-Index haben – und manchmal möchten Sie das vielleicht (z beim Schreiben).

Ja, Sie können einen gruppierten Index für Spalten erstellen, die kein Primärschlüssel sind.