Was ist ein Deckungsindex?Das Erstellen eines Indexes, der alle in der Abfrage verwendeten Felder enthält, wird als überdeckender Index bezeichnet. Mit einem überdeckenden Index muss MySQL den Index nur verwenden, um die für die Abfrage erforderlichen Daten zu finden und zurückzugeben, ohne nach der Verarbeitung der Daten mithilfe des Indexes eine Tabellenrückgabeoperation ausführen zu müssen. Durch das Abdecken von Indizes kann die Abfragearbeit auf einmal abgeschlossen werden, wodurch die IO effektiv reduziert und die Abfrageeffizienz verbessert wird. AnwendungsbeispieleAbfrageanweisung: Wählen Sie Spalte2, Spalte3 aus Testtabelle, wobei Spalte1 = xxx ist. Bestellen Sie nach Spalte2; Erstellen Sie einen einspaltigen Index: ALTER TABLE `test_table` ADD INDEX `idx_col1`(`col1`) USING BTREE; Analyseabfrage: EXPLAIN SELECT SQL_NO_CACHE col2, col3 FROM test_table WHERE col1 = xxx ORDER BY col2; Ergebnis: Nachdem ein Index für col1 erstellt wurde, ist der Typ „ref“ und der Index idx_col1 wird verwendet. Ändern Sie den Index und erstellen Sie einen gemeinsamen Index basierend auf der Abfrageanweisung: ALTER TABLE `test_table` DROP INDEX `idx_col1`; ALTER TABLE `test_table` ADD INDEX `idx_col1_col2_col3`(`col1`, `col2`, `col3`) USING BTREE; Analyseabfrage: EXPLAIN SELECT SQL_NO_CACHE col2, col3 FROM test_table WHERE col1 = xxx ORDER BY col2; Ergebnis: Nachdem der gemeinsame Index erstellt wurde, ist der Typ „ref“, der Index „idx_col1_col2_col3“ wird verwendet und „Extra“ ist „Using-Index“, was darauf hinweist, dass ein überdeckender Index verwendet wird. Der Unterschied zwischen MySQL-Abdeckungsindex und gemeinsamem Index Ein überdeckender Index bedeutet, dass die abgefragten Spalten direkt über den Index extrahiert werden können, also beispielsweise nur die Spalten der Primärschlüsselliste abgefragt werden! Oder fragen Sie alle Spalten des gemeinsamen Indexes oder einige Spalten von links beginnend ab (auf die Reihenfolge achten)! Ein gemeinsamer Index ruft nicht notwendigerweise alle Daten aus dem Index ab; dies hängt von der abgefragten Spalte ab. Beispielsweise ist es unwahrscheinlich, dass die Methode „select * from table where ××××××;“ ein überdeckender Index ist. Wenn also die von Ihnen abgefragten Spalten den gemeinsamen Index verwenden können und die von Ihnen abgefragten Spalten über den gemeinsamen Index abgerufen werden können, z. B. wenn Sie nur die Spalte abfragen, in der sich der gemeinsame Index befindet, oder einen Teil der Spalten, beginnend von links, entspricht dies einem überdeckenden Index. Damit die Abfrage den überdeckenden Index verwenden kann, werden normalerweise mehrere abzufragende Datenspalten als gemeinsamer Index festgelegt. ZusammenfassenDies ist das Ende dieses Artikels über die Verwendung von MySQL-Überdeckungsindizes. Weitere relevante MySQL-Überdeckungsindexinhalte finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detaillierter Prozess zum Kompilieren und Installieren von Storm auf dem Kylin V10-Server
>>: So zeigen Sie den Rahmen an, wenn td leer ist
Kürzlich habe ich festgestellt, dass die Serverze...
In letzter Zeit muss ich im Projektverlauf häufig ...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Vorwort Quellcode Wo beginne i...
Methode 1: Bitte fügen Sie den folgenden Code nach...
Das Prinzip von nginx zur Erzielung einer Ressour...
1. Erste Schritte mit setUp Stellen Sie kurz die ...
Inhaltsverzeichnis 1. Kommunikation zwischen Elte...
Inhaltsverzeichnis 1. Experimentelle Umgebung 2. ...
Der Standardtyp varchar in MySQL ist case-insensi...
Inhaltsverzeichnis 1. Beschreibung 2. Laden Sie d...
Es gibt zwei Dateien a.htm und b.htm. Im selben Ve...
Als ich kürzlich an einem Übungsprojekt arbeitete...
JS implementiert ein Hover-Dropdown-Menü. Dies is...
1. Zusammengesetzter Primärschlüssel Der sogenann...