Überprüfen Sie die Primärschlüsseleinschränkung, bevor Sie mit der Verwendung von eindeutigen Integritätsbedingungen beginnen.
Eine Primärschlüssel-Einschränkung besteht darin, eine eindeutige Integritätsbedingung und eine Nicht-Null-Integritätsbedingung zu deklarieren. Wenn im Primärschlüssel mehr als eine Spalte vorhanden ist, erhält jede Spalte eine Nicht-Null-Einschränkung, die eindeutige Einschränkung gilt jedoch für alle Spalten zusammen.
Wenn Sie einen Primärschlüssel deklarieren, erstellt das DBMS einen Index für Sie. Sie können den Index löschen, wenn Sie möchten, aber Sie werden eine schreckliche Leistung erhalten, wenn das DBMS Tabellen-Scans durchführt, um nach Eindeutigkeit zu suchen.
Primärschlüsseleinschränkungen erzwingen Entitätsintegrität, während REFERENCES (Fremdschlüssel) die referenzielle Integrität erzwingen. Zusammen sorgen sie für die Gewährleistung der Datenintegrität.
so sagen wir in meiner Tabelle habe ich eine Spalte "E-Mail", und ich mache mehrmals die Abfrage "Wählen * aus Tabl wo E-Mail wie 'etwas'". Diese Spalte ist eine eindeutige Spalte, sie ist jedoch nicht der Primärschlüssel. Also wäre es besser für die Leistung, dass ich es indexiere? –
@Kai: Ja, ein Index verbessert die Leistung beim Lesen von Daten (das Schreiben von Daten kann behindert werden). Eine eindeutige Einschränkung bedeutet nur, dass für alle Zeilen in der Tabelle die Werte in den Spalten mit den für sie definierten eindeutigen Bedingungen eindeutig sind - keine zwei Werte für E-Mail-Spalten wären gleich. –