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

Chrome 4.0 unterstützt GreaseMonkey-Skripte

GreaseMokey (die Chinesen nennen es Grease Monkey...

So ändern Sie die Länge eines Eingabetextfelds entsprechend seinem Inhalt

Erste: Code kopieren Der Code lautet wie folgt: &l...

MySQL kann tatsächlich verteilte Sperren implementieren

Vorwort Im vorherigen Artikel habe ich Ihnen anha...

JS erkennt den Fall der Eliminierung von Sternen

In diesem Artikelbeispiel wird der spezifische JS...

Fehlerbehebung bei der Ursache des 502 Bad Gateway-Fehlers auf dem Nginx-Server

Der Server meldet einen Fehler 502 beim Synchroni...

Der Unterschied zwischen Hash-Modus und Verlaufsmodus im Vue-Router

vue-router hat zwei Modi Hash-Modus Verlaufsmodus...

MYSQL METADATA LOCK (MDL LOCK) Theorie und Sperrtyptest

Inhaltsverzeichnis MYSQL METADATA LOCK (MDL LOCK)...

Einfaches Beispiel für den Grenzwertparameter der MySQL-Paging

Zwei Parameter der MySQL-Paging Wählen Sie * aus ...

So installieren Sie MySQL 5.7 aus dem Quellcode in einer CentOS 7-Umgebung

Dieser Artikel beschreibt, wie MySQL 5.7 aus dem ...

Einfaches Anwendungsbeispiel für MySQL-Trigger

Dieser Artikel veranschaulicht anhand von Beispie...

Dieser Artikel zeigt Ihnen, wie Sie CSS wie JS-Module importieren

Inhaltsverzeichnis Vorwort Was sind erstellbare S...

Implementierung von Platzhaltern und Escape-Zeichen in der Linux-Befehlszeile

Wenn wir Stapeloperationen für einen Dateityp aus...

Hilfe zum Webdesign: Datenreferenz für Web-Schriftgrößen

<br />Der Inhalt wurde aus dem Internet repr...

MySQL berechnet die Anzahl der Tage, Monate und Jahre zwischen zwei Daten

Die in MySQL integrierte Datumsfunktion TIMESTAMP...