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

So löschen Sie eine Eigenschaft eines Objekts in JavaScript

1. löschen delete ist die einzige wirkliche Mögli...

IDEA verwendet das Docker-Plugin (Tutorial für Anfänger)

Inhaltsverzeichnis veranschaulichen 1. Aktivieren...

Implementierung von MySQL Multi-version Concurrency Control MVCC

Inhaltsverzeichnis Was ist MVCC MVCC-Implementier...

Verschieben Sie die MySQL-Datenbank unter Windows auf eine andere Festplatte

Vorwort Heute habe ich MySQL installiert und fest...

Ausführliches Tutorial zur Installation und Konfiguration von MySQL 8.0.20

In diesem Artikel finden Sie eine ausführliche An...

Tipps zum Implementieren mehrerer Rahmen in CSS

1. Mehrere Grenzen[1] Hintergrund: Box-Shadow, Um...

Detaillierte Erklärung zur Verwendung der Vue.js-Renderfunktion

Vue empfiehlt in den meisten Fällen die Verwendun...

Docker-Image-Zugriff auf den lokalen Elasticsearch-Port-Vorgang

Wenn Sie den vom Docker-Stack bereitgestellten Im...

Tipps zum Importieren von CSV-, Excel- oder SQL-Dateien in MySQL

1. CSV-Datei importieren Verwenden Sie den folgen...

Zusammenfassung der Vorteile der Bereitstellung von MySQL Delayed Slaves

Vorwort Die Master-Slave-Replikationsbeziehung vo...

Tutorial zur Installation, Bereitstellung und Verwaltung von KVM-Virtualisierung

Inhaltsverzeichnis 1.kvm-Bereitstellung 1.1 KVM-I...