Analyse der gemeinsamen Indexfunktion von MySQL und Anwendungsbeispiele

Analyse der gemeinsamen Indexfunktion von MySQL und Anwendungsbeispiele

Dieser Artikel veranschaulicht anhand von Beispielen die Funktionen und die Verwendung gemeinsamer MySQL-Indizes. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Ein gemeinsamer Index wird auch als zusammengesetzter Index bezeichnet. Für zusammengesetzte Indizes gilt: MySQL verwendet die Felder im Index von links nach rechts. Eine Abfrage kann nur einen Teil des Index verwenden, aber nur den äußersten linken Teil. Beispielsweise ist der Index der Schlüsselindex (a,b,c). Er unterstützt die Suche nach drei Kombinationen von a | a,b | a,b,c, aber nicht die Suche nach b,c. Wenn das äußerste linke Feld eine konstante Referenz ist, ist der Index sehr effektiv.

Ein Index für zwei oder mehr Spalten wird als zusammengesetzter Index bezeichnet.

Mithilfe der zusätzlichen Spalten im Index können Sie den Umfang Ihrer Suche einschränken. Allerdings unterscheidet sich die Verwendung eines Index mit zwei Spalten von der Verwendung zweier separater Indizes. Die Struktur eines zusammengesetzten Indexes ähnelt einem Telefonbuch, in dem der Name einer Person aus einem Nachnamen und einem Vornamen besteht. Das Telefonbuch wird zuerst nach Nachnamenpaaren und dann nach Vornamenpaaren für Personen mit demselben Nachnamen sortiert. Ein Telefonbuch ist sehr nützlich, wenn Sie den Nachnamen kennen, noch nützlicher, wenn Sie sowohl den Vor- als auch den Nachnamen kennen, aber nutzlos, wenn Sie nur den Vornamen kennen.

Wenn Sie einen zusammengesetzten Index erstellen, sollten Sie daher sorgfältig auf die Reihenfolge der Spalten achten. Zusammengesetzte Indizes sind nützlich, wenn Sie Suchvorgänge in allen Spalten des Index oder nur in den ersten paar Spalten durchführen. Sie sind nicht nützlich, wenn Sie Suchvorgänge nur in einer der späteren Spalten durchführen.

Beispiel: Erstellen Sie einen zusammengesetzten Index aus Name, Alter und Geschlecht.

Tabellentest erstellen(
eine Ganzzahl,
b int,
c int,
SCHLÜSSEL a(a,b,c)
);

 
Optimal: wähle * aus Test, wobei a=10 und b>50
Schlecht: select * from test where a>50

Optimistisch: select * from test order by a
Schlecht: select * from test order by b
Schlecht: select * from test order by c

Optimal: select * from test where a=10 order by a
Optimal: select * from test where a=10 order by b
Schlecht: select * from test where a=10 order by c

Optimal: select * from test where a>10 order by a
Schlecht: select * from test where a>10 order by b
Schlecht: select * from test where a>10 order by c

Optimal: select * from test where a=10 and b=10 sortieren nach a
Optimal: select * from test where a=10 and b=10 order by b
Optimal: select * from test where a=10 and b=10 order by c

Optimal: select * from test where a=10 and b=10 sortieren nach a
Optimal: select * from test where a=10 and b>10 order by b
Schlecht: select * from test where a=10 and b>10 order by c

 

Indizierungsprinzipien

1. Je weniger Indizes, desto besser

Grund: Vor allem bei Änderungen an Daten muss jeder Index aktualisiert werden, was die Schreibgeschwindigkeit reduziert.

2. Das schmalste Feld befindet sich auf der linken Seite des Schlüssels

3. Vermeiden Sie Dateisortierung, temporäre Tabellen und Tabellenscans.

Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „Zusammenfassung der Kenntnisse im Bereich MySQL-Indexoperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Allgemeinfunktionen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Protokolloperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-Transaktionsoperationen“, „Zusammenfassung der Kenntnisse im Bereich MySQL-gespeicherte Prozeduren“ und „Zusammenfassung der Kenntnisse im Zusammenhang mit MySQL-Datenbanksperren“.

Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist.

Das könnte Sie auch interessieren:
  • Regeln für die Verwendung gemeinsamer MySQL-Indizes
  • MySQL-unabhängiger Index und gemeinsame Indexauswahl
  • Implementierung eines MySQL-Gemeinschaftsindex (zusammengesetzter Index)
  • Detaillierte Analyse des ganz links stehenden Übereinstimmungsprinzips des MySQL-Gemeinschaftsindex
  • Beispiele für die Verwendung gemeinsamer MySQL-Indizes
  • Tutorial zum gemeinsamen Indexlernen in MySQL
  • Gemeinsame MySQL-Indexwirksamkeitsbedingungen und Indexungültigkeitsbedingungen

<<:  Verwenden von nginx + fastcgi zum Implementieren eines Bilderkennungsservers

>>:  So verwenden Sie einen Gamecontroller in CocosCreator

Artikel empfehlen

Vier Möglichkeiten, CSS und HTML zu kombinieren

(1) Jedes HTML-Tag hat ein Attribut style, das CS...

15 Linux-Befehlsaliase, die Ihnen Zeit sparen

Vorwort Bei der Verwaltung und Wartung des Linux-...

Einführung in gängige Befehle und Tastenkombinationen in Linux

Inhaltsverzeichnis 1 Systemeinführung 2 Systemver...

So laden Sie das JAR-Paket über die Webseite auf Nexus hoch

Wie lädt man das JAR-Paket in ein privates Lager ...

Mehrere Grundsätze für die Produktdesign-Referenz auf Websites

In der folgenden Analyse geht es um Produktdesign...

So installieren Sie den MySQL 5.7.28-Binärmodus unter CentOS 7.4

Linux-Systemversion: CentOS7.4 MySQL-Version: 5.7...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.18

In diesem Artikel wird das grafische Tutorial zur...

Beispiele für die Verwendung von HTML-Listen-Tags dl, ul, ol

Code kopieren Der Code lautet wie folgt: <!-- ...

JS Canvas-Oberfläche und Animationseffekte

Inhaltsverzeichnis Überblick Canvas API: Grafiken...

JavaScript-Canvas zum Laden von Bildern

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