KEY
und INDEX
sind Synonyme in MySQL. Sie meinen dasselbe. In Datenbanken würden Sie Indizes
verwenden um die Geschwindigkeit des Datenabrufs zu verbessern. Ein Index wird normalerweise für Spalten erstellt, die in JOIN
verwendet werden , WHERE
, und ORDER BY
Klauseln.
Stellen Sie sich vor, Sie haben eine Tabelle namens users
und Sie möchten nach allen Benutzern suchen, die den Nachnamen „Smith“ haben. Ohne einen Index müsste die Datenbank alle Datensätze der Tabelle durchlaufen:Das ist langsam, denn je mehr Datensätze Sie in Ihrer Datenbank haben, desto mehr Arbeit muss sie leisten, um das Ergebnis zu finden. Andererseits hilft ein Index der Datenbank, schnell zu den relevanten Seiten zu springen, auf denen die „Smith“-Aufzeichnungen gespeichert sind. Dies ist sehr ähnlich, wie wir Menschen ein Telefonbuchverzeichnis durchsuchen, um jemanden nach dem Nachnamen zu finden:Wir beginnen nicht, das Verzeichnis von vorne bis hinten zu durchsuchen, solange wir die Informationen in einer möglichen Reihenfolge einfügen mit schnell zu den 'S'-Seiten springen.
Primärschlüssel und eindeutige Schlüssel sind ähnlich. Ein Primärschlüssel ist eine Spalte oder eine Kombination von Spalten, die eine Zeile eindeutig identifizieren kann. Es ist ein Sonderfall von eindeutiger Schlüssel . Eine Tabelle kann höchstens einen Primärschlüssel, aber mehr als einen eindeutigen Schlüssel haben. Wenn Sie einen eindeutigen Schlüssel für eine Spalte angeben, können keine zwei unterschiedlichen Zeilen in einer Tabelle denselben Wert haben.
Beachten Sie auch, dass Spalten, die als Primärschlüssel oder eindeutige Schlüssel definiert sind, automatisch in MySQL indiziert werden.