Heim >Datenbank >MySQL-Tutorial >Was ist der Unterschied zwischen „INDEX' und „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 ) );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 ) );
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!