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

Die Element-UI-Tabelle realisiert die Dropdown-Filterfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Ubuntu kompiliert Kernelmodule und der Inhalt wird im Systemprotokoll angezeigt

Inhaltsverzeichnis 1.Linux-Anmeldeschnittstelle 2...

JavaScript zum Erzielen eines Produktlupeneffekts

In diesem Artikel wird der spezifische JavaScript...

Bedingtes Rendering von Vue (v-if und v-show)

Inhaltsverzeichnis 1. v-wenn 2. Verwenden Sie v-i...

Natives JS zum Erzielen eines coolen Paging-Effekts

In diesem Artikel wird anhand eines Beispiels ein...

Zusammenfassung der allgemeinen Bedienungskenntnisse der MySQL-Datenbank

Dieser Artikel fasst gängige Betriebstechniken fü...

Verwendung des Linux-Befehls ls

1. Einleitung Der Befehl ls dient zum Anzeigen de...

JavaScript zur Implementierung eines einfachen Einkaufsformulars

In diesem Artikel wird der spezifische JavaScript...

Einführung in Container-Datenvolumes in Docker

Inhaltsverzeichnis Datenvolumen des Docker-Contai...

Praktisches Tutorial zum Ändern des MySQL-Zeichensatzes

Vorwort: In MySQL unterstützt das System viele Ze...

Zusammenfassung neuer Anwendungsbeispiele für Calculated in Vue3

Die Verwendung von „Computed“ in vue3. Da vue3 mi...