SQL Composite Primary Keys: Definition und Optimierung
Ein zusammengesetzter Primärschlüssel in SQL verwendet mehrere Spalten, um jede Zeile innerhalb einer Tabelle eindeutig zu identifizieren. Dies steht im Gegensatz zu einem einspaltigen Primärschlüssel. Um eine zu erstellen, listen Sie die Schlüsselspalten nach dem Schlüsselwort PRIMARY KEY
auf.
Anschauliches Beispiel:
Angenommen, wir erstellen eine voting
-Tabelle mit den Feldern QuestionID
, MemberID
und vote
. Wir verwenden QuestionID
und MemberID
als zusammengesetzten Primärschlüssel, um sicherzustellen, dass ein Mitglied nur einmal pro Frage abstimmen kann.
<code class="language-sql">CREATE TABLE voting ( QuestionID NUMERIC, MemberID NUMERIC, vote VARCHAR(255), PRIMARY KEY (QuestionID, MemberID) );</code>
Die Kombination aus QuestionID
und MemberID
identifiziert jeden Datensatz eindeutig. Entscheidend ist, dass weder QuestionID
noch MemberID
NULL
-Werte enthalten können.
Auswirkungen des Index auf die Leistung:
Strategische Zusatzindizierung:
Häufig Abfragen nach Spalten außerhalb des Primärschlüssels? Das Erstellen separater Indizes für diese Spalten ist eine Strategie zur Leistungsoptimierung.
Wenn beispielsweise MemberID
häufig in Abfragen in der Tabelle voting
verwendet wird, könnte ein zusätzlicher Index von Vorteil sein:
<code class="language-sql">CREATE UNIQUE INDEX idx1 ON voting (MemberID, QuestionID);</code>
Dadurch wird ein eindeutiger Index mit MemberID
und QuestionID
erstellt. Beachten Sie, dass die Reihenfolge je nach Abfragemuster von der Primärschlüsselreihenfolge abweichen kann. Die Wahl der optimalen Indexreihenfolge hängt von den häufigsten Abfragetypen ab.
Das obige ist der detaillierte Inhalt vonWie definiere und optimiere ich einen zusammengesetzten Primärschlüssel in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!