Ich weiß, wie man INDEX wie im folgenden Code verwendet. Und ich weiß, wie man Fremdschlüssel und Primärschlüssel verwendet .
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),
....
Ich fand jedoch einen Code mit KEY anstelle von INDEX wie folgt.
...
KEY order_date (order_date)
...
Ich konnte auf der offiziellen MySQL-Seite keine Erklärung finden. Kann mir jemand sagen, was die Unterschiede zwischen KEY und INDEX sind?
Der einzige Unterschied, den ich sehe, ist, dass ich bei der Verwendung KEY ...
das Wort wiederholen muss, z
KEY order_date (order_date)
.
KEY keyname (column_name)
wann ich die Tabelle mit erstellt habeINDEX keyname (column_name)
. Die Tatsache, dass es ein Synonym ist, erklärt es perfekt.Hier ist eine schöne Beschreibung über den "Unterschied":
quelle
Es wird als Synonym
INDEX
in den 'create table'-Dokumenten erwähnt: MySQL 5.5 Referenzhandbuch :: 13 SQL-Anweisungssyntax :: 13.1 Datendefinitionsanweisungen :: 13.1.17 CREATE TABLE-SyntaxNos hat den Abschnitt bereits zitiert und die Hilfe für 5.1 verlinkt.
Wie beim
PRIMARY KEY
Erstellen eines Primärschlüssels und eines Index für SieKEY
wird nur ein Index erstellt.quelle
Schlüssel sind spezielle Felder, die innerhalb einer Tabelle eine ganz bestimmte Rolle spielen, und der Schlüsseltyp bestimmt den Zweck innerhalb der Tabelle.
Ein Index ist eine Struktur, die RDBMS (Datenbankverwaltungssystem) zur Verbesserung der Datenverarbeitung bereitstellt. Ein Index hat nichts mit einer logischen Datenbankstruktur zu tun.
SO...
Schlüssel sind logische Strukturen, mit denen Sie Datensätze in einer Tabelle identifizieren, und Indizes sind physische Strukturen, mit denen Sie die Datenverarbeitung optimieren.
Quelle: Datenbankdesign für bloße Sterbliche
Verfasser: Michael Hernandez
quelle
Ein Schlüssel ist eine Reihe von Spalten oder Ausdrücken, auf denen wir einen Index erstellen.
Während ein Index eine Struktur ist, die in einer Datenbank gespeichert ist, sind Schlüssel ein rein logisches Konzept.
Der Index hilft uns beim schnellen Zugriff auf einen Datensatz, während die Schlüssel die Datensätze nur eindeutig identifizieren.
Jede Tabelle muss einen Schlüssel haben, ein Index ist jedoch nicht obligatorisch.
Überprüfen Sie unter https://docs.oracle.com/cd/E11882_01/server.112/e40540/indexiot.htm#CNCPT721
quelle