Heim > Datenbank > MySQL-Tutorial > Was ist der Unterschied zwischen „INDEX' und „KEY' in MySQL?

Was ist der Unterschied zwischen „INDEX' und „KEY' in MySQL?

Susan Sarandon
Freigeben: 2024-11-24 22:37:10
Original
789 Leute haben es durchsucht

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

Der Unterschied zwischen INDEX und KEY in MySQL

In MySQL sind INDEX und KEY Synonyme, die zur Verbesserung der Abfrageleistung verwendet werden. Sie haben keine Essenz der Unterschied. Aus Gründen der ISO-SQL-Kompatibilität wird jedoch die Verwendung von INDEX bevorzugt.

In der Beschreibung von CREATE TABLE im MySQL-Handbuch heißt es: „KEY ist normalerweise ein Synonym für INDEX. Wenn es in der Spaltendefinition angegeben wird, kann das Primärschlüsselattribut PRIMARY KEY auch als KEY angegeben werden. Dies dient der Kompatibilität.“ mit anderen Datenbanksystemen implementiert. Zum Beispiel die folgenden drei CREATE TABLE Anweisungen sind äquivalent und erzeugen dasselbe Tabellenobjekt in der Datenbank:

Andererseits sind die folgenden zwei Anweisungen äquivalent, unterscheiden sich jedoch von den oben genannten drei Anweisungen:
CREATE TABLE orders1 (
    order_id int PRIMARY KEY
);

CREATE TABLE orders2 (
    order_id int KEY
);

CREATE TABLE orders3 (
    order_id int NOT NULL,

    PRIMARY KEY ( order_id )
);
Nach dem Login kopieren

Dies liegt daran, dass in diesen Anweisungen KEY und INDEX Synonyme für INDEX und nicht für PRIMARY KEY sind. Daher definieren die Mitglieder KEY ( order_id ) und INDEX ( order_id ) keinen Primärschlüssel, sondern nur ein generisches Indexobjekt, das sich völlig von KEY unterscheidet (da es eine Zeile nicht eindeutig identifiziert).
CREATE TABLE orders4 (
    order_id int NOT NULL,

    KEY ( order_id )
);

CREATE TABLE orders5 (
    order_id int NOT NULL,

    INDEX ( order_id )
);
Nach dem Login kopieren

Sie können dies überprüfen, indem Sie den Befehl SHOW CREATE TABLEorders1...5 ausführen:

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „INDEX' und „KEY' in MySQL?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage