
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!