Das ganz links stehende Übereinstimmungsprinzip des MySQL-Datenbankindex

Das ganz links stehende Übereinstimmungsprinzip des MySQL-Datenbankindex

1. Gemeinsame Indexbeschreibung

Erstellen Sie einen gemeinsamen Index aus drei Feldern

Der gemeinsame Index (a,b,c) ist gleichbedeutend mit der Erstellung des Index: (a), (a,b), (a,b,c)

2. Kann ac Indizes verwenden?

先給出結論:a可以命中聯合索引(a,b,c),c無法命中,所以ac組合無法命中聯合索引。

1. Erstellen Sie einen gemeinsamen ABC-Index (Provinz, Stadt, Bezirk)

Bildbeschreibung hier einfügen

AC-Indexabfrage

SELECT * FROM Benutzeradresse WHERE Provinz = 'Guangdong' 
UND Bezirk = ‚Nanxiong City‘

Bildbeschreibung hier einfügen

Der Anzeigeabfragebereich ist ALLES

2. Erstellen Sie einen gemeinsamen Index für die beiden Felder ac direkt

Bildbeschreibung hier einfügen

SELECT * FROM Benutzeradresse WHERE Provinz = 'Guangdong' 
UND Bezirk = ‚Nanxiong City‘

Bildbeschreibung hier einfügen

Das Abfrageergebnis ist, dass ref den Index verwendet und sich die Anzahl der gescannten Zeilen ebenfalls von 21 auf 13 geändert hat.

3.ab Indexabfrage
Bildbeschreibung hier einfügen

Der Abfrageumfang ist ref

abschließend

abc gemeinsamer Index, c in ac kann den gemeinsamen Index dieser drei Felder nicht treffen, a jedoch schon, daher zeigt die Spalte „possible_keys“ an, dass der gemeinsame Index verwendet wird.

3. Denken

abc-Index, wird acb dem Index folgen?

  • Gemäß dem Prinzip des ganz linken Präfixabgleichs führt MySQL den Abgleich nach rechts weiter aus, bis es auf eine Bereichsabfrage (>, <, zwischen, wie) stößt und den Abgleich beendet.
  • Wenn beispielsweise a = 3 und b = 4 und c > 5 und d = 6 ist und Sie einen Index in der Reihenfolge (a, b, c, d) erstellen, wird d nicht verwendet. Wenn Sie einen Index in der Reihenfolge (a, b, d, c) erstellen, können alle verwendet werden und die Reihenfolge von a, b, d kann beliebig angepasst werden.
  • = und in können in beliebiger Reihenfolge stehen, z. B. a=1 und b=2 und c=3. Der Index (a, b, c) kann in beliebiger Reihenfolge erstellt werden. Der MySQL-Abfrageoptimierer hilft Ihnen bei der Optimierung in eine Form, die der Index erkennen kann.

4. Die Ursache des Leftmost-Matching-Prinzips

  • Da der gemeinsame Index, wie z. B. abc, als geordnet verstanden werden kann und die Grundlage seiner Bildung auf a aufbaut, von a zum Aufbau von b und von b zum Aufbau von c, muss er in der richtigen Reihenfolge sein
  • Vereinfacht lässt es sich so verstehen: Zuerst a sortieren und einen Index erstellen, dann b basierend auf a sortieren und dann c sortieren.
  • Wenn daher ein gemeinsamer Index auf eine Bereichsabfrage trifft, werden die nachfolgenden Indizes ungültig.

Dies ist das Ende dieses Artikels über das Prinzip der ganz links liegenden Übereinstimmung des MySQL-Datenbankindex. Weitere relevante Inhalte zur ganz links liegenden Übereinstimmung des MySQL-Index finden Sie in den vorherigen Artikeln von 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:
  • Detaillierte Erläuterung der MySQL-Datenbankindizes und Fehlerszenarien
  • Detaillierte Einführung in den MySQL-Datenbankindex
  • Detaillierte Erklärung des MySQL-Datenbankindex
  • MySQL-Datenbankindizes und -Transaktionen
  • MySQL-Datenbank-Indexreihenfolge durch Sortierung – detaillierte Erklärung
  • Nachteile und sinnvolle Verwendung des MySQL-Datenbankindex
  • Detaillierte Erklärung der Transaktionen und Indizes in der MySQL-Datenbank
  • Fragen zum Vorstellungsgespräch zum MySQL-Datenbankindex (grundlegende Programmierkenntnisse)
  • Warum verbessert der Index in der Mysql-Datenbanktabelle nicht die Abfragegeschwindigkeit?

<<:  Detaillierte Erläuterung der Vuex-Persistenz in der praktischen Anwendung von Vue

>>:  Eine detaillierte Einführung in die Betriebssystemebenen von Linux

Artikel empfehlen

Tomcat-Konfiguration und wie man ihn in Eclipse startet

Inhaltsverzeichnis So installieren und konfigurie...

Detaillierte Erklärung zum Anzeigen der MySQL-Speichernutzung

Vorwort Dieser Artikel stellt hauptsächlich die r...

Detaillierte Beschreibung von Shallow Copy und Deep Copy in js

Inhaltsverzeichnis 1. js-Speicher 2. Abtretung 3....

Zusammenfassung der vier Klick-Antwortmethoden von Button

Button wird ziemlich oft verwendet. Hier habe ich...

Detaillierte Schritte zum Einrichten eines Nexus-Servers

1. Die Bedeutung des Aufbaus eines Nexus-Dienstes...

MySQL Best Practices: Grundlegende Arten von Partitionstabellen

Übersicht über partitionierte MySQL-Tabellen Da M...

10 hervorragende Web-UI-Bibliotheken/Frameworks

1. IT Mill-Toolkit IT Mill Toolkit ist ein Open-S...

Kostenloses Tool zur Überprüfung der Richtigkeit von HTML-, CSS- und RSS-Feeds

Ein Trick zum Umgang mit dieser Art von Fehlern be...

Zusammenfassung der Methode von React zum Erstellen von Komponenten

Inhaltsverzeichnis 1. Komponenten mit Funktionen ...

So installieren Sie MySQL und MariaDB in Docker

Beziehung zwischen MySQL und MariaDB Das Datenban...

Vue implementiert die Countdown-Komponente für zweite Kills

In diesem Artikel wird der spezifische Code von V...