Heim > Datenbank > MySQL-Tutorial > INDEX vs. KEY in MySQL: Was ist der Unterschied und was sollte ich verwenden?

INDEX vs. KEY in MySQL: Was ist der Unterschied und was sollte ich verwenden?

DDD
Freigeben: 2024-11-24 00:52:13
Original
199 Leute haben es durchsucht

INDEX vs. KEY in MySQL: What's the Difference and Which Should I Use?

Verwendung von INDEX vs. KEY in MySQL

Einführung

MySQL bietet zwei Syntaxen zum Erstellen von Indizes auf Tabellen: INDEX und KEY. Obwohl beide die gleiche Funktionalität erreichen, gibt es subtile Unterschiede zwischen ihnen.

Synonyme vs. Erweiterungen

Der Hauptunterschied zwischen INDEX und KEY liegt in ihrer Natur. INDEX gilt als ISO-SQL-konformer Begriff, während KEY eine MySQL-spezifische Erweiterung ist. Dies bedeutet, dass die Verwendung von INDEX die Portabilität über verschiedene Datenbanksysteme hinweg gewährleistet, während KEY auf MySQL beschränkt ist.

Verwendung

In der Praxis ist die Verwendung von INDEX und KEY jedoch gleich austauschbar. Beide erstellen Indizes für Spalten, um die Abfrageleistung durch schnelle Suchvorgänge zu verbessern. Die Syntax für ihre Verwendung ist identisch, wie im folgenden Beispiel zu sehen ist:

CREATE TABLE tasks (
    task_id        int unsigned NOT NULL AUTO_INCREMENT,
    parent_id      int unsigned NOT NULL DEFAULT 0,
    task           varchar(100) NOT NULL,
    date_added     timestamp    NOT NULL,
    date_completed timestamp        NULL,

    PRIMARY KEY (task_id),
    KEY parent (parent_id)  -- or INDEX parent (parent_id)
)
Nach dem Login kopieren

Überlegungen zum Primärschlüssel

Während INDEX und KEY austauschbar zum Erstellen von Indizes verwendet werden können gibt es eine Ausnahme beim Umgang mit Primärschlüsseln. Das Schlüsselwort PRIMARY KEY kann in Spaltendefinitionen aus Kompatibilitätsgründen mit anderen Datenbanksystemen als KEY abgekürzt werden. Zum Beispiel:

CREATE TABLE orders (
    order_id int PRIMARY KEY,
    order_date timestamp
);
Nach dem Login kopieren

In diesem Fall ist KEY ein Synonym für PRIMARY KEY und erstellt einen eindeutigen Index für die Spalte „order_id“, der jede Zeile in der Tabelle eindeutig identifiziert.

Fazit

Zusammenfassend lässt sich sagen, dass INDEX und KEY zwar denselben Zweck erfüllen, INDEX jedoch aufgrund seiner ISO bevorzugt wird SQL-Konformität. In den meisten praktischen Szenarien ist die Wahl jedoch eine Frage der persönlichen Präferenz oder der Einhaltung bestimmter Standards. Wenn Sie den Unterschied zwischen ihrer Verwendung und dem Kontext verstehen, in dem sie verwendet werden, können Sie die Datenbankleistung effektiv optimieren.

Das obige ist der detaillierte Inhalt vonINDEX vs. KEY in MySQL: Was ist der Unterschied und was sollte ich verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage