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

Mehrere Möglichkeiten, die Lesbarkeit von Webseiten zu verbessern

1. Verwenden Sie kontrastierende Farben. Mit Kont...

Eine kurze Analyse der Grundkonzepte von HTML-Webseiten

Was ist eine Webseite? Die Seite, die nach dem HT...

Details zum Schreiben von React in einem Vue-Projekt

Wir können jsx/tsx-Dateien direkt erstellen Die P...

Erläuterung der Methode zum Schreiben von SQL-Anweisungen zum Einfügen

Methode 1: INSERT INTO t1(Feld1,Feld2) VALUE(v001...

Designtheorie: Menschenorientiertes Designkonzept

<br />Als sich das Denken in Ost und West sp...

Implementierung der Nginx-Domänennamenweiterleitung

Einführung in Nginx Nginx („engine x“) ist ein le...

Detaillierte Erklärung der CocosCreator MVC-Architektur

Überblick Dieser Artikel stellt die in Spieleclie...

Schritte zum Bereitstellen eines Spring Boot-Projekts mit Docker

Inhaltsverzeichnis Erstellen Sie ein einfaches Sp...

Mysql 5.6.37 Winx64-Installation Dual-Version MySQL-Hinweise

Wenn MySQL Version 5.0 bereits auf dem Computer v...

Beispielcode zur Implementierung eines Radardiagramms mit vue+antv

1. Abhängigkeit herunterladen npm installiere @an...

Vue implementiert das gleichzeitige Einstellen mehrerer Countdowns

In diesem Artikelbeispiel wird der spezifische Co...

4 Möglichkeiten zur Optimierung von MySQL-Abfragen für Millionen von Daten

Inhaltsverzeichnis 1. Der Grund, warum das Limit ...