Heim >Datenbank >MySQL-Tutorial >Was ist der Unterschied zwischen INDEX und KEY bei der MySQL-Tabellenerstellung?

Was ist der Unterschied zwischen INDEX und KEY bei der MySQL-Tabellenerstellung?

DDD
DDDOriginal
2024-11-26 05:03:10255Durchsuche

What's the Difference Between INDEX and KEY in MySQL Table Creation?

Verstehen der Äquivalenz von INDEX und KEY in MySQL

Beim Erstellen von Tabellen in MySQL können Sie auf zwei Begriffe für die Indizierung von Daten stoßen: INDEX und KEY. Obwohl beide Begriffe denselben Zweck erfüllen, gibt es einen subtilen Unterschied in ihrer Verwendung.

Definition von INDEX und KEY

  • INDEX: Ein nicht eindeutiger Index, der zur Beschleunigung von Abfragen und zur Verbesserung des Datenabrufs verwendet wird Effizienz.
  • SCHLÜSSEL: Ein Synonym für INDEX. Es wurde in MySQL aus Kompatibilitätsgründen mit anderen Datenbanksystemen eingeführt.

Verwendung in Create Table-Anweisungen

In Create Table-Anweisungen können Sie INDEX oder KEY austauschbar verwenden . Beispielsweise sind die folgenden beiden Anweisungen äquivalent:

CREATE TABLE tasks (
    task_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    parent_id INT UNSIGNED NOT NULL DEFAULT 0,
    task VARCHAR(100) NOT NULL,
    PRIMARY KEY (task_id),
    INDEX parent (parent_id)
);

CREATE TABLE orders (
    order_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    KEY order_date (order_date)
);

Eindeutige vs. nicht-eindeutige Indizes

Während sowohl INDEX als auch KEY nicht-eindeutige Indizes erstellen können, Es ist wichtig zu beachten, dass PRIMARY KEY per Definition eindeutig ist. Das bedeutet, dass der Wert in einer PRIMARY KEY-Spalte jede Zeile in der Tabelle eindeutig identifiziert. INDEX und KEY hingegen erlauben doppelte Werte.

Primärschlüssel als SCHLÜSSEL

In MySQL können Sie einen PRIMÄRSCHLÜSSEL mit dem Schlüsselwort KEY definieren. Es wird jedoch empfohlen, das Schlüsselwort PRIMARY KEY explizit zu verwenden, um Verwirrung zu vermeiden. Zum Beispiel:

CREATE TABLE customers (
    customer_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    PRIMARY KEY (customer_id)
);

Empfehlung

Obwohl KEY und INDEX in MySQL synonym sind, wird allgemein die Verwendung von INDEX empfohlen, da es sich an den ISO-SQL-Standard anpasst und verbessert Tragbarkeit.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen INDEX und KEY bei der MySQL-Tabellenerstellung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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