Was ist der Unterschied zwischen der Verwendung von INDEX vs-KEY bei MySQL?
Ich weiß, wie man verwenden Sie einen INDEX wie im folgenden code. Und ich weiß, wie Sie foreign key und Primärschlüssel.
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,
PRIMARY KEY (task_id),
INDEX parent (parent_id),
....
Jedoch fand ich einen code mit KEY statt INDEX wie folgt.
...
KEY order_date (order_date)
...
Ich konnte keine Erklärung auf der offiziellen MySQL Seite. Könnte mir jemand sagen was die Unterschiede zwischen SCHLÜSSEL und INDEX?
Der einzige Unterschied, den ich sehe, ist, dass wenn ich KEY ...
muss ich wiederholen Sie das Wort, z.B.
KEY order_date (order_date)
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keinen Unterschied. Sie sind Synonyme.
Vom die
CREATE TABLE
manuelle Eingabe:KEY keyname (column_name)
wenn ich die Tabelle erstellt mitINDEX keyname (column_name)
. Die Tatsache, dass es ist ein synonym, erklärt es perfekt.Hier ist ein nette Beschreibung über die "Differenz":
Wird erwähnt als synonym für
INDEX
in der 'create table' - docs:MySQL 5.5 Reference Manual :: 13 SQL-Anweisung Syntax: 13.1 Data Definition Statements :: Beschreibung 13.1.17 CREATE TABLE-Syntax
Nos bereits zitierten Abschnitt und verknüpfte Sie die Hilfe für 5.1.
Wie
PRIMARY KEY
erstellt einen Primärschlüssel und einen index für Sie,KEY
erstellt einen index nur.Schlüssel sind spezielle Felder, die spielen bestimmte Rollen innerhalb einer Tabelle und den Typ der Schlüssel bestimmt, dessen Zweck in der Tabelle.
Ein index ist eine Struktur, die RDBMS(Datenbank-management-system) bietet zur Verbesserung der Daten-Verarbeitung. Ein index hat nichts zu tun mit einem logischen Datenbank-Struktur.
SO...
Tasten sind logische Strukturen, die Sie verwenden, zu identifizieren Datensätze in einer Tabelle und die Indizes sind physische Strukturen, die Sie zum optimieren von Daten-Verarbeitung.
Quelle: Database Design for Mere Mortals
Autor: Michael Hernandez
Schlüssel ist eine Reihe von Spalten oder Ausdrücke, auf die wir einen index zu erstellen.
Während ein index ist eine Struktur, in der Datenbank gespeichert werden, die Schlüssel sind unbedingt ein logisches Konzept.
Index helfen Sie uns bei der schnelle Zugriff auf einen Datensatz, in der Erwägung, dass die Tasten einfach zu identifizieren die Datensätze eindeutig.
Jede Tabelle muss zwangsläufig ein Schlüssel, aber mit einem index ist nicht zwingend.
Überprüfen https://docs.oracle.com/cd/E11882_01/server.112/e40540/indexiot.htm#CNCPT721