Heim >Datenbank >MySQL-Tutorial >Organisieren Sie MySQL-Indizes
MySQL-Index
Die Einrichtung eines MySQL-Index ist für den effizienten Betrieb von MySQL sehr wichtig. Der Index kann die Abrufgeschwindigkeit von MySQL erheblich verbessern.
Wenn zum Beispiel MySQL, das richtig entworfen ist und Indizes verwendet, ein Lamborghini ist, dann ist MySQL, das nicht entworfen ist und Indizes verwendet, ein menschliches Dreirad.
Nehmen Sie als Beispiel die Inhaltsverzeichnisseite (Index) eines chinesischen Wörterbuchs. Mithilfe des Inhaltsverzeichnisses (Index) können wir die benötigten Wörter schnell finden, sortiert nach Pinyin, Strichen, Radikalen usw.
Indizes sind in einspaltige Indizes und kombinierte Indizes unterteilt.
Einzelspaltiger Index, das heißt, ein Index enthält nur eine einzelne Spalte. Eine Tabelle kann mehrere einzelne Spaltenindizes haben, dies ist jedoch kein kombinierter Index.
Kombinierter Index, das heißt, ein Index enthält mehrere Spalten.
Beim Erstellen eines Index müssen Sie sicherstellen, dass der Index auf die Bedingungen der SQL-Abfrageanweisung angewendet wird (normalerweise als Bedingung der WHERE-Klausel).
Tatsächlich ist der Index auch eine Tabelle, die die Primärschlüssel- und Indexfelder speichert und auf die Datensätze der Entitätstabelle verweist.
Die Vorteile der Verwendung von Indizes wurden oben erwähnt, eine übermäßige Verwendung von Indizes führt jedoch zu Missbrauch. Daher hat der Index auch seine Nachteile: Obwohl der Index die Abfragegeschwindigkeit erheblich verbessert, verringert er auch die Geschwindigkeit der Aktualisierung der Tabelle, z. B. INSERT, UPDATE und DELETE in der Tabelle. Denn beim Aktualisieren der Tabelle muss MySQL nicht nur die Daten, sondern auch die Indexdatei speichern.
Das Erstellen von Indexdateien belegt Speicherplatz. Der zweite Nachteil der Ressourcenbelegung
Verwandte kostenlose Lernempfehlungen: MySQL-Video-Tutorial
Gewöhnlicher Index
Der grundlegendste Indextyp ohne Einschränkungen wie Eindeutigkeit.
Index erstellen
Dies ist der einfachste Index, er unterliegt keinen Einschränkungen. Es verfügt über die folgenden Erstellungsmethoden:
CREATE INDEX indexName ON table_name (column_name)
Wenn es vom Typ CHAR oder VARCHAR ist, kann die Länge kleiner sein als die tatsächliche Länge des Feldes. Wenn es vom Typ BLOB und TEXT ist, muss die Länge angegeben werden.
modifizieren Sie die Tabellenstruktur (Index hinzufügen). zwei Zeilen, um Indizes mit demselben Indexwert zu haben.
Die meisten Datenbanken erlauben nicht, dass neu erstellte eindeutige Indizes mit der Tabelle gespeichert werden, wenn in den vorhandenen Daten doppelte Schlüsselwerte vorhanden sind. Die Datenbank verhindert möglicherweise auch das Hinzufügen neuer Daten, die zu doppelten Schlüsselwerten in der Tabelle führen würden. Wenn Sie beispielsweise einen eindeutigen Index für den Nachnamen eines Mitarbeiters (lname) in der Mitarbeitertabelle erstellen, können keine zwei Mitarbeiter denselben Nachnamen haben.Erstellen Sie einen Index
ALTER table tableName ADD INDEX indexName(columnName)Ändern Sie die Tabellenstruktur
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );Geben Sie ihn direkt beim Erstellen der Tabelle an
DROP INDEX [indexName] ON mytable;
Verwenden Sie den ALTER-Befehl zum Hinzufügen und Löschen Es gibt vier Möglichkeiten zum Hinzufügen Indizes zur Datentabelle:
ALTER TABLE tbl_name ADD PRIMARY KEY (column_list):
Diese Anweisung fügt einen Primärschlüssel hinzu, was bedeutet, dass der Indexwert eindeutig sein muss und nicht NULL sein darf.
ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): Der Wert des durch diese Anweisung erstellten Index muss eindeutig sein (außer NULL, NULL kann mehrmals vorkommen).
ALTER TABLE tbl_name ADD INDEX index_name (column_list):
Fügen Sie einen normalen Index hinzu, der Indexwert kann mehrmals erscheinen.
**ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list)
Das obige ist der detaillierte Inhalt vonOrganisieren Sie MySQL-Indizes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!