MySQL MariaDB

Wie finde ich den Index einer Tabelle in MySQL?

Wie finde ich den Index einer Tabelle in MySQL?
Ein Datenbankindex ist eine Datenanordnung, die die Schnelligkeit von Tabellentransaktionen erhöht. Mit einer oder sogar mehreren Spalten können Indizes generiert werden, die die Grundlage für eine gegenseitig schnelle Zufallssuche und eine effektive Anordnung der Eintragseinträge schaffen. Dies sollte bei der Erstellung eines Indexes beachtet werden, dass alle Spalten aussortiert werden, um SQL-Abfragen zu generieren, und auch um einen oder sogar weitere Indizes für diese Spalten zu erstellen. In der Praxis sind Indizes eine Form von Tabellen, die das Primärschlüssel- oder Indexspaltenfeld enthalten und für jeden Datensatz auf die einzelne Tabelle verweisen. Benutzer können die Indizes möglicherweise nicht sehen, diese sind weggeworfen, um Abfragen zu beschleunigen, und die Datenbanksuchmaschine würde sie verbrauchen, um Datensätze sehr schnell zu verfolgen.

Indizes mit MySQL WorkBench

Starten Sie zunächst Ihre MySQL Workbench und verbinden Sie sie mit der Root-Datenbank.

Wir werden eine neue Tabelle "Kontakte" in der Datenbank "Daten" erstellen, die verschiedene Spalten enthält. in. Wir haben in dieser Tabelle einen Primärschlüssel und eine UNIQUE-Schlüsselspalte, z.G. ID und E-Mail. Hier müssen Sie klarstellen, dass Sie keine Indizes für die Schlüsselspalten UNIQUE und PRIMARY erstellen müssen. Die Datenbank erstellt automatisch die Indizes für beide Spaltentypen. Wir erstellen also den Index 'phone' für die Spalte 'phone' und den Index 'name' für die Spalten 'first_name' und  'last_name'. Führen Sie die Abfrage über das Flash-Symbol in der Taskleiste aus.

In der Ausgabe können Sie sehen, dass die Tabelle und die Indizes erstellt wurden.

Navigieren Sie nun zur Schemaleiste. Unter der Liste 'Tabellen' finden Sie die neu erstellte Tabelle.

Versuchen wir den Befehl SHOW INDEXES, um die Indizes für diese bestimmte Tabelle zu überprüfen, wie unten im Abfragebereich mit dem Blitzzeichen gezeigt.

Dieses Fenster wird sofort erscheinen. Sie können eine Spalte 'Key_name' sehen, die anzeigt, dass der Schlüssel zu jeder Spalte gehört. Da wir den 'Telefon'- und 'Namen'-Index erstellt haben, wird er auch angezeigt. Sie können die anderen relevanten Informationen zu Indizes einsehen, z.G., Reihenfolge des Index für eine bestimmte Spalte, Indextyp, Sichtbarkeit usw.

Indizes mit MySQL-Befehlszeilen-Shell

Öffnen Sie die MySQL-Befehlszeilen-Client-Shell von Ihrem Computer aus. Geben Sie das MySQL-Passwort ein, um mit der Verwendung zu beginnen.

Beispiel 01
Angenommen, wir haben eine Tabelle 'order1' im Schema 'order' mit einigen Spalten mit Werten, wie in der Abbildung dargestellt. Mit dem SELECT-Befehl müssen wir die Datensätze von 'order1' abrufen.

>> AUSWÄHLEN * AUS Daten.Bestellung1;

Da wir noch keine Indizes für die Tabelle 'order1' definiert haben, ist es unmöglich zu erraten. Wir werden also versuchen, die Indizes mit dem Befehl SHOW INDEXES oder SHOW KEYS wie folgt zu überprüfen:

>> SCHLÜSSEL VON BESTELLUNG1 IN Daten ANZEIGEN;

Aus der folgenden Ausgabe können Sie erkennen, dass die Tabelle 'order1' nur 1 Primärschlüsselspalte hat. Dies bedeutet, dass noch keine Indizes definiert sind, deshalb werden nur 1-zeilige Datensätze für die Primärschlüsselspalte 'id' angezeigt.

Lassen Sie uns die Indizes für jede Spalte in der Tabelle 'order1' überprüfen, bei der die Sichtbarkeit deaktiviert ist, wie unten gezeigt.

>> INDIZES AUS DATEN ANZEIGEN.order1 WHERE VISIBLE = 'NEIN';

Jetzt werden wir einige UNIQUE-Indizes für die Tabelle 'order1' erstellen.  Wir haben diesen EINZIGARTIGEN INDEX als 'rec' bezeichnet und auf die 4 Spalten angewendet: id, Region, Status und OrderNo. Versuchen Sie dazu den folgenden Befehl.

>> EINZIGARTIGE INDEX-REC ON-Daten ERSTELLEN.order1 (ID, Region, Status, BestellNr);

Sehen wir uns nun das Ergebnis der Erstellung der Indizes für die jeweilige Tabelle an. Das Ergebnis wird unten nach der Verwendung des Befehls SHOW INDEXES angezeigt. Wir haben eine Liste aller erstellten Indizes mit den gleichen Namen 'rec' für jede Spalte.

>> INDIZES VON order1 IN Daten ANZEIGEN;

Beispiel 02
Angenommen eine neue Tabelle 'student' in der Datenbank 'data' mit vierspaltigen Feldern mit einigen Datensätzen. Rufen Sie die Daten aus dieser Tabelle mit der SELECT-Abfrage wie folgt ab:

>> AUSWÄHLEN * AUS Daten.Schüler;

Lassen Sie uns zuerst die Primärschlüsselspaltenindizes abrufen, indem wir den folgenden Befehl SHOW INDEXES versuchen.

>> INDIZES AUS DATEN ANZEIGEN.Schüler WHERE Key_name = 'PRIMARY';

Sie können sehen, dass aufgrund der in der Abfrage verwendeten WHERE-Klausel der Indexsatz für die einzige Spalte mit dem Typ 'PRIMARY' ausgegeben wird.

Lassen Sie uns einen eindeutigen und einen nicht eindeutigen Index für die verschiedenen 'Studenten'-Spalten der Tabelle erstellen. Wir werden zuerst den UNIQUE-Index 'std' in der Spalte 'Name' der Tabelle 'student' erstellen, indem wir den CREATE INDEX-Befehl in der Befehlszeilen-Client-Shell wie folgt verwenden.

>>  EINZIGARTIGEN INDEX-STD FÜR Daten ERSTELLEN.Name des Studenten );

Lassen Sie uns einen nicht eindeutigen Index für die Spalte 'Betreff' der Tabelle 'student' erstellen oder hinzufügen, während Sie den ALTER-Befehl verwenden. Ja, wir haben den ALTER-Befehl verwendet, weil er verwendet wird, um die Tabelle zu ändern. Also haben wir die Tabelle modifiziert, indem wir den Spalten Indizes hinzugefügt haben. Versuchen wir also die folgende ALTER TABLE-Abfrage in der Befehlszeilen-Shell und fügen Sie den Index 'stdSub' zur Spalte 'Subject' hinzu.

>> ALTER TABLE-Daten.Schüler ADD INDEX stdSub ( Fach );

Jetzt ist es an der Reihe, die neu hinzugefügten Indizes für die Tabelle 'student' und ihre Spalten 'Name' und 'Subject' zu überprüfen. Probieren Sie den folgenden Befehl aus, um ihn zu überprüfen.

>>  INDIZES AUS DATEN ANZEIGEN.Schüler;

An der Ausgabe können Sie erkennen, dass die Abfragen der Spalte 'Betreff' den nicht eindeutigen Index und der Spalte 'Name' den eindeutigen Index zugewiesen haben. Sie können auch die Namen der Indizes sehen.

Versuchen wir den DROP INDEX-Befehl, um den Index 'stdSub' aus der Tabelle 'student' zu löschen.

>> DROP INDEX stdSub ON Daten.Schüler;

Sehen Sie sich die verbleibenden Indizes an, indem Sie die gleiche SHOW INDEX-Anweisung wie unten verwenden. Wir haben jetzt die einzigen beiden Indizes, die in der Tabelle 'Student' übrig sind, gemäß der folgenden Ausgabe übrig.

>> INDIZES AUS DATEN ANZEIGEN.Schüler;

Fazit

Schließlich haben wir alle notwendigen Beispiele zum Erstellen von eindeutigen und nicht eindeutigen Indizes, zum Anzeigen oder Überprüfen von Indizes und zum Löschen der Indizes für die jeweilige Tabelle erstellt.

Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...
Emulieren Sie Mausklicks, indem Sie den Mauszeiger mit der klicklosen Maus in Windows 10 bewegen
Die Verwendung einer Maus oder Tastatur in der falschen Haltung bei übermäßiger Nutzung kann zu vielen gesundheitlichen Problemen führen, einschließli...