Heim  >  Artikel  >  Datenbank  >  Die Verbindung und der Unterschied zwischen MySQL-Primärschlüsseln und -Indizes

Die Verbindung und der Unterschied zwischen MySQL-Primärschlüsseln und -Indizes

伊谢尔伦
伊谢尔伦Original
2016-12-03 10:05:131099Durchsuche

Relationale Datenbanken basieren auf Primärschlüsseln, die den Eckpfeiler des physischen Modells der Datenbank bilden. Der Primärschlüssel hat auf physischer Ebene nur zwei Zwecke:

identifiziert eine Zeile eindeutig.

als Objekt, auf das durch Fremdschlüssel gültig verwiesen werden kann.

Indizes sind spezielle Dateien (die Indizes der InnoDB-Datentabelle sind Bestandteil des Tabellenbereichs. Sie enthalten Referenzzeiger auf alle Datensätze in der Datentabelle). Im Folgenden sind einige Unterschiede und Verbindungen zwischen Primärschlüsseln und Indizes aufgeführt.

1. Der Primärschlüssel muss ein eindeutiger Index sein, und ein eindeutiger Index ist nicht unbedingt der Primärschlüssel.

Der sogenannte Primärschlüssel ist ein Attribut oder eine Attributgruppe, die eine Zeile in der Tabelle eindeutig identifizieren kann. Eine Tabelle kann nur einen Primärschlüssel, aber mehrere Kandidatenindizes haben. Da der Primärschlüssel eine Zeile von Datensätzen eindeutig identifizieren kann, kann er sicherstellen, dass beim Aktualisieren und Löschen von Daten keine Fehler auftreten. Zusätzlich zu den oben genannten Funktionen bilden Primärschlüssel häufig referenzielle Integritätsbeschränkungen mit Fremdschlüsseln, um Dateninkonsistenzen zu verhindern. Beim Entwurf einer Datenbank spielen Primärschlüssel eine sehr wichtige Rolle.

Der Primärschlüssel kann sicherstellen, dass der Datensatz eindeutig ist und das Primärschlüsselfeld nicht leer ist. Das Datenbankverwaltungssystem generiert automatisch einen eindeutigen Index für den Primärschlüssel, sodass der Primärschlüssel auch ein spezieller Index ist.

2. Eine Tabelle kann mehrere eindeutige Indizes enthalten, es kann jedoch nur einen Primärschlüssel geben.

3. Primärschlüsselspalten erlauben keine Nullwerte, während eindeutige Indexspalten Nullwerte zulassen.

4. Indizes können die Abfragegeschwindigkeit erhöhen.

Tatsächlich sind der Primärschlüssel und der Index beide Schlüssel, aber der Primärschlüssel ist ein logischer Schlüssel und der Index ist ein physischer Schlüssel, was bedeutet, dass der Primärschlüssel nicht tatsächlich existiert, sondern der Index tatsächlich Der Primärschlüssel muss im Allgemeinen erstellt werden, hauptsächlich um identische Datensätze in einer Tabelle zu vermeiden. Der Index muss im Allgemeinen nicht erstellt werden. Wenn Sie jedoch die Tabelle abfragen müssen, ist es am besten, ihn zu erstellen , was den Abruf beschleunigen kann.

FAQ

1. Was ist der Primärschlüssel?

Lassen Sie mich über die spezifischen Dinge sprechen, die Sie nicht gelesen haben Überprüfen Sie, ob jede Seite eine Seitennummer hat. Der Primärschlüssel unserer Datentabelle entspricht dieser Seitennummer.

2. Was ist also ein Index?

Nehmen wir ein Buch als Beispiel. Das Inhaltsverzeichnis entspricht dem Inhaltsverzeichnis. Das Gleiche gilt für den Datenindex, der die Abfrage der Datentabelle beschleunigen kann.

3. Primärschlüssel- und Primärindex-Analogie und ihre Funktionen?

Der Primärschlüssel dient zur Identifizierung der Eindeutigkeit des Datenbankeintrags. Die Duplizierung von Datensätzen ist nicht zulässig und der Schlüsselwert darf nicht leer sein. Der Primärschlüssel ist auch ein spezieller Index.

In der Datentabelle ist nur ein Primärschlüssel zulässig, es können jedoch mehrere Indizes vorhanden sein.

Wenn Sie den Primärschlüssel verwenden, erstellt die Datenbank automatisch einen Primärindex. Sie können auch einen Index für einen Nicht-Primärschlüssel erstellen, um die Abfrageeffizienz zu erleichtern.

Der Index kann die Abfragegeschwindigkeit verbessern. Er entspricht dem Verzeichnis des Wörterbuchs. Die gewünschten Ergebnisse können schnell abgefragt werden, ohne dass ein vollständiger Tabellenscan erforderlich ist.

Der Wert des Index außerhalb des Primärschlüsselindex kann leer sein.

Der Primärschlüssel kann auch aus mehreren Feldern zusammengesetzt sein, um einen zusammengesetzten Primärschlüssel zu bilden, und der Primärschlüssel muss auch der einzige Index sein.

Eindeutiger Index bedeutet, dass der Indexwert eindeutig ist und aus einem oder mehreren Feldern bestehen kann. Eine Tabelle kann mehrere eindeutige Indizes haben.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn