Die wichtigsten derzeit in MySQL verfügbaren Indextypen sind: gewöhnlicher Index, eindeutiger Index, Primärschlüsselindex, kombinierter Index und Volltextindex. Der folgende Artikel stellt Ihnen diese MySQL-Indizes vor und ich hoffe, dass er Ihnen hilfreich sein wird.
Durch das Hinzufügen von Indizes zu Feldern können Sie die Geschwindigkeit des Datenlesens erhöhen und die Parallelität und Stressresistenz des Projekts verbessern. Die Indexoptimierung ist eine Optimierungsmethode in MySQL. Der Index entspricht dem Inhaltsverzeichnis eines Buches. Anhand der Seitenzahlen im Inhaltsverzeichnis können Sie schnell den gewünschten Inhalt finden.
Werfen wir einen Blick auf die wichtigsten Indextypen, die derzeit in MySQL verfügbar sind:
1. Gewöhnlicher Index
Gewöhnlicher Index ist der grundlegendste Index. Es gibt keine Einschränkungen, der Wert kann leer sein; dies beschleunigt nur die Abfrage. Es kann auf folgende Weise erstellt oder gelöscht werden:
1), direktes Erstellen eines Index
CREATE INDEX index_name ON table(column(length))
2), Hinzufügen eines Index durch Ändern der Tabellenstruktur
ALTER TABLE table_name ADD INDEX index_name ON (column(length))
3 ), Index löschen
rrree2. Eindeutiger Index ist ähnlich wie gewöhnlicher Index. Der Unterschied besteht darin, dass der Wert der Indexspalte sein muss Eindeutiger, aber leerer Wert ist zulässig. Bei einem zusammengesetzten Index muss die Kombination der Spaltenwerte eindeutig sein. Einfach ausgedrückt: Ein eindeutiger Index beschleunigt Abfragen + eindeutige Spaltenwerte (kann Null haben). Es kann auf folgende Weise erstellt werden:
1), Erstellen eines eindeutigen Index
DROP INDEX index_name ON table
2), Ändern der Tabellenstruktur
CREATE UNIQUE INDEX indexName ON table(column(length))
Der Primärschlüsselindex ist ein spezieller eindeutiger Index. Eine Tabelle kann nur einen Primärschlüssel haben und es sind keine Nullwerte zulässig. Vereinfacht ausgedrückt: Der Primärschlüsselindex beschleunigt Abfragen + der Spaltenwert ist eindeutig (kann nicht null sein) + es gibt nur einen in der Tabelle. Generell wird beim Erstellen der Tabelle gleich der Primärschlüsselindex erstellt:
ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))
Natürlich können Sie auch den ALTER-Befehl verwenden. Denken Sie daran: Eine Tabelle kann nur einen Primärschlüssel haben.
4. Kombinierter IndexEin kombinierter Index bezieht sich auf einen Index, der bei der Erstellung des Indexes verwendet wird Index verwendet wird. Befolgen Sie den Präfixsatz ganz links, wenn Sie kombinierte Indizes verwenden. Man kann sagen, dass ein kombinierter Index ein aus mehreren Spaltenwerten bestehender Index ist, der speziell für kombinierte Suchvorgänge verwendet wird und dessen Effizienz größer ist als die Indexzusammenführung.
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) );
Der Volltextindex wird hauptsächlich zum Auffinden von Schlüsselwörtern im Text verwendet und nicht direkt mit Werten im Index verglichen . Der Volltextindex unterscheidet sich stark von anderen Indizes. Er ähnelt eher einer Suchmaschine als einem einfachen Parameterabgleich der where-Anweisung. Der Volltextindex wird mit der Match-gegen-Operation anstelle der allgemeinen Where-Anweisung plus Like verwendet. Es kann zum Erstellen einer Tabelle, zum Ändern einer Tabelle und zum Erstellen eines Index verwendet werden. Derzeit können jedoch nur Volltextindizes für char-, varchar- und text-Spalten erstellt werden. Es ist erwähnenswert, dass es bei großen Datenmengen besser ist, die Daten in eine Tabelle ohne globalen Index einzufügen und dann mit CREATE index einen Volltextindex zu erstellen, als zuerst einen Volltext für eine Tabelle zu erstellen und dann den Index zu schreiben Daten. Die Geschwindigkeit ist viel schneller. 1), es ist geeignet, beim Erstellen einer Tabelle einen Volltextindex hinzuzufügen
ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);
2), ändern Sie die Tabellenstruktur, um einen Volltextindex hinzuzufügen
CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER NOT NULL , `content` text CHARACTER NULL , `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), FULLTEXT (content) );
3), direkt einen Index erstellen
ALTER TABLE article ADD FULLTEXT index_content(content)
Einfach ausgedrückt: Bei der Volltextindizierung wird der Inhalt des Textes segmentiert und Suchvorgänge durchgeführt.
Das obige ist der detaillierte Inhalt vonWelche Arten von MySQL-Indizes gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!