Innodb- und Myisam-Engines werden automatisch der Primärschlüssel sein oder haben EINZIGARTIGE Attributspalten werden indiziert.
Wenn Sie andere Spalten indizieren möchten, müssen Sie dies explizit angeben.
1. Erstellen Sie beim Erstellen einer Tabelle einen Index.
CREATE TABLE 表名 ( 各个列的信息..., (KEY/INDEX) 索引名 (需要被索引的单个列或多个列) )
Beachten Sie, dass entweder KEY oder INDEX als Synonyme verwendet werden können.
Fügen Sie beispielsweise beim Erstellen der Tabelle index_demo einen gemeinsamen Index für die Spalten c2 und c3 hinzu:
CREATE TABLE index_demo( c1 INT, c2 INT, c3 CHAR(1), PRIMARY KEY(c1), INDEX idx_c2_c3 (c2, c3) );
Der Name des hier erstellten Index ist idx_c2_c3 Der Name kann beliebig sein. Es wird empfohlen, idx_ als Präfix zu verwenden, gefolgt vom Spaltennamen des wieder aufzunehmenden Indexes und mehreren durch Unterstriche getrennten Spalten.
2. Fügen Sie einen Index hinzu, wenn Sie die Tabellenstruktur ändern.
ALTER TABLE 表名 ADD (KEY/INDEX) 索引名 (需要被索引的单个列或多个列);
3. Löschen Sie den Index, wenn Sie die Tabellenstruktur ändern Der erstellte Index idx_c2_c3 kann wie folgt geschrieben werden:
ALTER TABLE 表名 DROP (KEY/INDEX) 索引名;
2. Die Kosten des Index
1. Die Platzkosten
2. Zeitaufwand
Beim Hinzufügen, Löschen oder Ändern von Daten in der Tabelle ist eine Änderung erforderlich jeder B+-Baumindex.
Wir wissen:
Wenn viele Indizes erstellt werden, können Sie sich vorstellen, dass der B+-Baum, der jedem Index entspricht, entsprechende Wartungsvorgänge durchlaufen muss, was zu einem hohen Verbrauch führt.
Zeitaufwändige Ausführungsplananalyse
Vor der Ausführung der Abfrageanweisung wird zunächst ein Ausführungsplan generiert.
Im Allgemeinen verwendet eine Abfrageanweisung während der Ausführung höchstens einen sekundären Index. Beim Generieren des Ausführungsplans müssen Sie die Kosten für die Verwendung verschiedener Indizes zum Ausführen der Abfrage berechnen und schließlich den niedrigsten auswählen . Index für Abfrage.
Wenn zu viele Indizes erstellt werden, dauert die Kostenanalyse möglicherweise zu lange, was sich auf die Ausführungsleistung von Abfrageanweisungen auswirkt.
Das obige ist der detaillierte Inhalt vonWie hoch sind die Kosten für das Erstellen, Löschen und Verwenden von MySQL-Indizes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!