Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Unterschied zwischen Schlüssel, Primärschlüssel, eindeutigem Schlüssel und Index in MySQL

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.