Die Einrichtung eines MySQL-Index ist für den effizienten Betrieb von MySQL sehr wichtig. Ein Index kann die Abrufgeschwindigkeit von MySQL erheblich verbessern. Um eine Analogie zu verwenden: Wenn MySQL mit dem richtigen Design und den richtigen Indizes ein Lamborghini ist, dann ist MySQL ohne Index ein von Menschen angetriebenes Dreirad. Am Beispiel des Inhaltsverzeichnisses (Index) eines chinesischen Wörterbuchs können wir die benötigten Zeichen schnell finden, indem wir das Inhaltsverzeichnis (Index) nach Pinyin, Strichen, Radikalen usw. sortieren. Indizes werden in einspaltige Indizes und zusammengesetzte Indizes unterteilt. Ein einspaltiger Index ist ein Index, der nur eine einzige Spalte enthält. Eine Tabelle kann mehrere einspaltige Indizes haben, diese sind jedoch keine zusammengesetzten Indizes. Zusammengesetzter Index, d. h. ein Index, der mehrere Spalten enthält. Beim Erstellen eines Index müssen Sie sicherstellen, dass der Index auf die SQL-Abfrageanweisung angewendet wird (normalerweise als Bedingung der WHERE-Klausel). Tatsächlich ist der Index auch eine Tabelle, die den Primärschlüssel und die Indexfelder speichert und auf die Datensätze der Entitätstabelle verweist. Oben wurde zwar über die Vorteile der Verwendung von Indizes gesprochen, eine übermäßige Verwendung von Indizes führt jedoch zu Missbrauch. Daher haben Indizes auch ihre Nachteile: Obwohl Indizes die Abfragegeschwindigkeit erheblich verbessern, verringern sie auch die Geschwindigkeit beim Aktualisieren von Tabellen, beispielsweise bei INSERT, UPDATE und DELETE. Denn beim Aktualisieren einer Tabelle muss MySQL nicht nur die Daten, sondern auch die Indexdatei speichern. Das Erstellen eines Indexes beansprucht Speicherplatz für Indexdateien. Normaler Index Index erstellen Dies ist der grundlegendste Index und es bestehen für ihn keine Einschränkungen. Es kann auf folgende Arten erstellt werden: CREATE INDEX indexName ON mytable(Benutzername(Länge)); Beim Typ CHAR oder VARCHAR kann die Länge kleiner sein als die tatsächliche Länge des Felds; beim Typ BLOB oder TEXT muss die Länge angegeben werden. Tabellenstruktur ändern (Index hinzufügen) ALTER table Tabellenname ADD INDEX Indexname(Spaltenname) Direkt beim Erstellen einer Tabelle angeben TABELLE ERSTELLEN meineTabelle( ID INT NICHT NULL, Benutzername VARCHAR(16) NOT NULL, INDEX [Indexname] (Benutzername (Länge)) ); Syntax zum Löschen eines Indexes DROP INDEX [Indexname] ON meineTabelle; Eindeutiger Index Er ähnelt dem vorherigen gewöhnlichen Index, außer dass die Werte der Indexspalte eindeutig sein müssen, aber Nullwerte zulässig sind. Wenn es sich um einen zusammengesetzten Index handelt, muss die Kombination der Spaltenwerte eindeutig sein. Es kann auf folgende Arten erstellt werden: Index erstellen EINDEUTIGEN INDEX ERSTELLEN indexName ON mytable(Benutzername(Länge)) Tabellenstruktur ändern ALTER table mytable ADD UNIQUE [indexName] (Benutzername(Länge)) Direkt beim Erstellen einer Tabelle angeben TABELLE ERSTELLEN meineTabelle( ID INT NICHT NULL, Benutzername VARCHAR(16) NOT NULL, UNIQUE [indexName] (Benutzername(Länge)) ); Hinzufügen und Löschen von Indizes mit dem ALTER-Befehl Es gibt vier Möglichkeiten, einer Tabelle Indizes hinzuzufügen:
Das folgende Beispiel fügt einer Tabelle einen Index hinzu. mysql> ALTER TABLE testalter_tbl ADD INDEX (c); Sie können Indizes auch mit der DROP-Klausel im ALTER-Befehl entfernen. Versuchen Sie das folgende Beispiel, um den Index zu löschen: mysql> ALTER TABLE testalter_tbl DROP INDEX c; Verwenden Sie den ALTER-Befehl zum Hinzufügen und Löschen von Primärschlüsseln Ein Primärschlüssel kann nur auf eine Spalte angewendet werden. Wenn Sie einen Primärschlüsselindex hinzufügen, müssen Sie sicherstellen, dass der Primärschlüssel standardmäßig nicht leer (NOT NULL) ist. Nachfolgend sind einige Beispiele aufgeführt: mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i); Sie können einen Primärschlüssel auch mit dem ALTER-Befehl löschen: mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY; Indexinformationen anzeigen Mit dem Befehl SHOW INDEX können Sie die relevanten Indexinformationen in der Tabelle auflisten. Sie können die Ausgabe durch Hinzufügen von \G formatieren. Probieren Sie die folgenden Beispiele aus: mysql> SHOW INDEX FROM Tabellenname; \G ........ Oben finden Sie den detaillierten Inhalt der Zusammenfassung des Wissens über MySQL-Indizes. Weitere Informationen zum MySQL-Index finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Lösung für den Apache-Cross-Domain-Ressourcenzugriffsfehler
>>: Grundlagen der funktionalen Programmierung in JavaScript
MySQL-Konsistenzprotokoll Was passiert mit nicht ...
Es gibt drei Möglichkeiten, Farben in HTML darzust...
Da wir Bilder hochladen möchten, müssen wir zunäc...
Inhaltsverzeichnis 1. Maven-Abhängigkeit 2. Menüb...
Inhaltsverzeichnis Hintergrund 1. Die Abfragebedi...
Lösung für das Datenasymmetrieproblem zwischen My...
CentOS8 wurde vor ein paar Tagen veröffentlicht. ...
Vorwort Tipp: Das Folgende ist der Hauptinhalt di...
Inhaltsverzeichnis Vorwort Hauptimplementierungsc...
Bevor wir über die CSS-Priorität sprechen, müssen...
Inhaltsverzeichnis 1. Verbindungsmanagement 2. Ve...
Vorwort HTTP und HTTPS In unserem täglichen Leben...
MySQL zwischen Grenzbereich Der Bereich zwischen ...
Effektbild: Implementierungscode: <Vorlage>...
1: Wenn Sie das Tag <a> zum Verlinken auf ei...