In diesem Artikel werden MySQL-Duplikatsindizes und redundante Indizes anhand von Beispielen beschrieben. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: Doppelter Index : bezieht sich auf mehrere Indizes, die für eine Spalte oder mehrere Spalten in derselben Reihenfolge erstellt wurden. Redundante Indizes : Die von den beiden Indizes abgedeckten Spalten überlappen sich Redundante Indizes nutzen in einigen speziellen Szenarien die Indexabdeckung und sind daher schneller. Szenario Beispielsweise die Artikel- und Tag-Tabelle
In der Praxis gibt es zwei Arten von Abfragen
SQL-Anweisung: Wähle Tag aus t11, wo Art.-ID = 2 ist; Wählen Sie ArtID aus t11, wo Tag = „PHP“ ist. Wir können redundante Indizes erstellen, um eine Indexabdeckung zu erreichen, was die Abfrageeffizienz erhöht. 1. Erstellen Sie eine Artikel-Tag-Tabelle In dieser Tabelle gibt es zwei Indizes, einen at und einen ta. Beide Indizes verwenden die Felder artid und tag. CREATE TABLE `t16` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `artid` int(10) unsigned NOT NULL DEFAULT '0', `tag` char(20) NICHT NULL STANDARD '', Primärschlüssel (`id`), SCHLÜSSEL `at` (`artid`,`tag`), SCHLÜSSEL `ta` (`tag`,`artid`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 2. Testen Sie zwei SQL-Anweisungen Wählen Sie ArtID aus t11, wo Tag = „PHP“ ist. Das Extra in der Abfrageanalyse dieser Anweisung enthält Using Index, was bedeutet, dass hier die Indexabdeckung verwendet wird. Nach der Verwendung der Indexabdeckung müssen keine Zeilen an die Abfragedaten zurückgegeben werden, sodass die Abfrageeffizienz relativ hoch ist. Wähle Tag aus t11, wo Art.-ID = 1; Das Extra in der Abfrageanalyse dieser Anweisung enthält Using Index, was bedeutet, dass hier die Indexabdeckung verwendet wird. Nach der Verwendung der Indexabdeckung müssen keine Zeilen an die Abfragedaten zurückgegeben werden, sodass die Abfrageeffizienz relativ hoch ist. Weitere Informationen zur Indexabdeckung finden Sie im vorherigen Artikel: Indexabdeckung 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:
|
<<: Grafisches Tutorial zur Installation eines Mac-Systems in einer virtuellen Maschine unter Win10
>>: WeChat-Applet implementiert Taschenrechnerfunktion
.y { background: url(//img.jbzj.com/images/o_y.pn...
Dieser Artikel beschreibt anhand eines Beispiels ...
Ich verfolge wochentags gerne die Nachrichten und ...
Einführung Heute habe ich gelernt, wie man mit Py...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Nutzung 1. Grundlegende Ver...
Inhaltsverzeichnis 1. Problem 2. Lösung Option 1:...
Beispielvorgang für nicht festgeschriebenes Lesen...
Vorwort Kürzlich stieß ich bei der Arbeit auf ein...
1. Setzen Sie das Listensymbol list-style-type: A...
MySQL ist ein Open-Source-Verwaltungssystem für k...
Drei Möglichkeiten zum Konfigurieren von Nginx Di...
Inhaltsverzeichnis 1. Anweisungen zum Rendern von...
Die Warnhinweise in diesem Artikel haben nichts m...
Inhaltsverzeichnis Vorwort Rendern Beispielcode Z...