Einführung
MySQL ist eine Datenbankanwendung, die Daten in Tabellen organisiert, die wiederum Werte in Zeilen und Spalten organisiert haben. In MySQL ein Index ist eine Datenstruktur, die die Informationen besser durchsuchbar macht.
Ohne einen Index liest MySQL die gesamte Tabelle durch, um die erforderliche Zeile zu finden, und ist sehr ineffizient.
Diese Anleitung zeigt Ihnen, wie Sie mit CREATE INDEX
einen Index in MySQL erstellen Erklärung.
Voraussetzungen
- Eine vorhandene MySQL-Installation
- Ein MySQL-Benutzerkonto mit root oder admin Privilegien
- Zugriff auf ein Kommandozeilen-/Terminalfenster:
- Klicken Sie unter Linux auf Aktivitäten> Suchen> Terminal
- Klicken Sie unter Windows mit der rechten Maustaste auf Start> Befehlszeile (oder Windows PowerShell)
MySQL Indexerstellungssyntax
Ein CREATE INDEX
-Anweisung in MySQL verwendet das folgende Format:
mysql> CREATE INDEX [some_index] ON [some_table] ([some_column],[other_column]);
some_index
– Der Name des Indexsome_table
– Der Name der Tabelle mit Spalten, die indiziert werdensome_column, other_column
– Die Namen der zu indexierenden Spalten
MySQL Index in neuer Tabelle erstellen
Um gleichzeitig einen Index zu erstellen, wird die Tabelle in MySQL erstellt:
1. Öffnen Sie ein Terminalfenster und melden Sie sich bei der MySQL-Shell an.
mysql -u username -p
2. Erstellen und wechseln Sie zu einer neuen Datenbank, indem Sie den folgenden Befehl eingeben:
mysql> CREATE DATABASE mytest;
Query OK, 1 row affected (0.01 sec)
mysql; USE mytest;
Database changed
3. Erstellen Sie als Nächstes Spalten in der Tabelle und indizieren Sie sie:
mysql> CREATE TABLE example (
col1 INT PRIMARY KEY,
col2 INT NOT NULL,
col3 INT NOT NULL,
col4 VARCHAR(20),
INDEX (col2, col3)
);
Der Befehl erstellt eine Tabelle mit dem Namen example , füllt sie mit 4 Spalten und fügt Indizes für Spalte 2 und Spalte 3 hinzu.
4. Zeigen Sie als Nächstes eine Liste der Indizes aus der Tabelle an:
mysql; SHOW INDEXES FROM example;
Sie sollten einen Index für PRIMARY, COL2 und COL3 sehen. Obwohl PRIMARY nicht angegeben wurde, hat MySQL automatisch einen Index für den Primärschlüssel erstellt.
Index zu vorhandener MySQL-Tabelle hinzufügen
Best Practices von MySQL empfehlen, gleichzeitig mit der Tabelle auch einen Index zu erstellen. Ein Index kann jedoch auch zu einer bestehenden Tabelle hinzugefügt werden. Die folgenden Anweisungen erläutern, wie Sie einer vorhandenen MySQL-Tabelle einen Index hinzufügen.
1. Erstellen Sie eine neue Tabelle, indem Sie den folgenden Befehl eingeben:
mysql> CREATE TABLE example2 (
col1 INT PRIMARY KEY,
col2 VARCHAR(20),
col3 VARCHAR(20),
col4 VARCHAR(20)
);
Query OK, 0 rows affected (0.25 sec)
2. Zeigen Sie als Nächstes den aktuellen Index für example2 an :
mysql> SHOW INDEXES FROM example2;
Das System sollte einen einzigen Index für den Primärschlüssel anzeigen.
3. Fügen Sie als Nächstes einen Index für col2 und col3 hinzu, indem Sie den folgenden Befehl eingeben:
mysql> CREATE INDEX index1 ON example2 (col2,col3);
4. Zeigen Sie die Indizes für example2 an :
mysql> SHOW INDEXES FROM example2;
Das System sollte jetzt den Primärschlüsselindex sowie col2 und col3 anzeigen, die in index1 aufgeführt sind .