Detaillierte Erläuterung der kombinierten MySQL-Indexmethode

Detaillierte Erläuterung der kombinierten MySQL-Indexmethode

Für jedes DBMS sind die Indizes der wichtigste Optimierungsfaktor. Bei kleinen Datenmengen hat das Fehlen eines geeigneten Indexes keine großen Auswirkungen, bei zunehmender Datenmenge nimmt die Leistung jedoch stark ab.

Wenn Sie mehrere Spalten indizieren (zusammengesetzter Index), ist die Reihenfolge der Spalten sehr wichtig. MySQL kann nur effektiv nach einem Präfix der äußersten linken Spalte des Index suchen. Zum Beispiel:

Angenommen, es gibt einen zusammengesetzten Index (c1, c2). Dann kann die Abfrage select * from t1 where c1=1 and c2=2 diesen Index verwenden. Die Abfrage select * from t1 where c1=1 kann auch diesen Index verwenden. Die Abfrageanweisung select * from t1 where c2=2 kann diesen Index jedoch nicht verwenden, da es keine führende Spalte für den zusammengesetzten Index gibt. Das heißt, um die Spalte c2 für die Suche verwenden zu können, muss c1 einem bestimmten Wert entsprechen.

Zum Beispiel:
Erstellen Sie zwei Tabellen „book“ (Buchtabelle) und „bookclass“ (Buchklassifizierungstabelle).

Wählen Sie b.ISBN AUS Buch b, wobei b.CATEGORY_ID = 1; 

這里寫圖片描述

Ausführungszeit: 0,053 s

Verwenden Sie „explain“, um das SQL zu analysieren:

這里寫圖片描述

Typ = ALLE Extras = Bei Verwendung von „where“ verwendet die vollständige Tabellenabfrage den Index nicht.

EXPLAIN zeigt, wie MySQL Indizes verwendet, um Auswahlanweisungen zu verarbeiten und Tabellen zu verknüpfen. Es kann dabei helfen, bessere Indizes auszuwählen und optimiertere Abfrageanweisungen zu schreiben.

ALLE Für jede Zeilenkombination aus den vorherigen Tabellen wird ein vollständiger Tabellenscan durchgeführt. Dies ist normalerweise schlecht, wenn die Tabelle die erste Tabelle ist, die nicht als „const“ markiert ist, und ist in anderen Fällen normalerweise sehr schlecht. Oft können Sie statt ALL weitere Indizes hinzufügen, sodass Zeilen basierend auf konstanten Werten oder Spaltenwerten in der vorherigen Tabelle abgerufen werden können.

Erstellen Sie einen zusammengesetzten Index:
Erstellen Sie den Index index_isbn für das Buch (CATEGORY_ID, ISBN);

Führen Sie den SQL-Befehl erneut aus und stellen Sie fest, dass sich die Zeit auf 0,009 s verkürzt.

這里寫圖片描述

Verwenden Sie „explain“, um das SQL zu analysieren:

這里寫圖片描述

Typ = Ref., Extra = Index verwenden. Es wird eine Indexabfrage verwendet.

ref Für jede Kombination von Zeilen aus den vorherigen Tabellen werden alle Zeilen mit übereinstimmenden Indexwerten aus dieser Tabelle gelesen. Wenn der Join nur ein ganz linkes Präfix des Schlüssels verwendet oder wenn der Schlüssel weder UNIQUE noch PRIMARY KEY ist (mit anderen Worten, wenn der Join keine einzelne Zeile basierend auf dem Schlüssel auswählen kann), wird „ref“ verwendet. Dieser Verknüpfungstyp ist gut, wenn die verwendeten Schlüssel nur mit einer kleinen Anzahl von Zeilen übereinstimmen.

Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der kombinierten Indexmethode von MySQL. Weitere relevante Inhalte zum kombinierten MySQL-Index 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:
  • MySql-Index verbessert die Abfragegeschwindigkeit allgemeine Methoden Codebeispiele
  • Zusammenfassung mehrerer Situationen, in denen MySQL-Indizes fehlschlagen
  • Detaillierte Erläuterung des MySQL-Clusterindex und des Nicht-Clusterindex
  • Lösungen für Probleme bei der Leistungsoptimierung von MySQL-Indizes
  • Zusammenfassung einiger gängiger Schreibmethoden, die zu MySQL-Indexfehlern führen
  • Verschiedene Arten von MySQL-Indizes
  • MySQL-Performance-Optimierung: So nutzen Sie Indizes effizient und richtig
  • Grundlegende Syntax des MySQL-Index
  • Gründe und Lösungen für die Auswahl des falschen Index durch MySQL

<<:  Linux verwendet die suid vim.basic-Datei, um eine Rechteausweitung zu erreichen

>>:  Vue verwendet OSS zum Hochladen von Bildern oder Anhängen

Artikel empfehlen

Fallstricke bei langsamen MySQL-Abfragen

Inhaltsverzeichnis 1. Langsame Abfragekonfigurati...

8 JS reduziert Verwendungsbeispiele und reduzierte Betriebsmethoden

reduce Methode ist eine Array-Iterationsmethode. ...

Entwerfen Sie einen Datensammler mit Vue

Inhaltsverzeichnis Szenario Kernthemen Statusüber...

Die beste Erklärung zu HTTPS

Guten Morgen allerseits, ich habe meinen Artikel ...

Beispiel für die Implementierung einer virtuellen Liste im WeChat Mini-Programm

Inhaltsverzeichnis Vorwort analysieren Erste Rend...

VUE+Canvas implementiert das Spiel God of Wealth und erhält Barren

Willkommen zur vorherigen Canvas-Spielserie: 《VUE...

So stellen Sie War-Pakete manuell über Tomcat9 unter Windows und Linux bereit

Die Ergebnisse sind in Windows- und Linux-Umgebun...

MySQL-Backup-Tabellenvorgang basierend auf Java

Der Kern ist mysqldump und Runtime Der Vorgang is...

Detaillierte Zusammenfassung des JavaScript-Arrays

Inhaltsverzeichnis 1. Array-Induktion 1. Teilen S...

Lösung zur Konvertierung in Inline-Styles in CSS (css-inline)

Sprechen Sie über die Szene E-Mail senden Einbett...

Einige „Fallstricke“ beim Upgrade der MySQL-Datenbank

Bei kommerziellen Datenbanken hat die Datenbankak...

Wie die MySQL Select-Anweisung ausgeführt wird

Wie wird die MySQL-Select-Anweisung ausgeführt? I...