1. Gründe für Indexfehler Sehen wir uns zunächst die Situationen an, in denen die Suche die Ordnungsmäßigkeit des Index nicht nutzen kann. Angenommen, ein Tabellentest hat vier Felder a, b, c und d und c ist der Primärschlüssel. Erstellen Sie einen gemeinsamen Index (a,b) für die Felder a und b Die Regel, die wir erhalten können, ist: Sortieren Sie zuerst nach Feld A von klein nach groß, und wenn Feld A gleich ist, sortieren Sie nach Feld B von klein nach groß; Analysieren Sie die folgenden Situationen, um zu bestimmen, ob der Index ungültig wird und aus welchen Gründen: Die Bedingung enthält nur das Feld b wähle * aus Test, wobei b=2; Indexfehler: Natürlich wird beim Aufrufen der gesamte Text gescannt und der Index nicht verwendet. Da wir nur den Index des Felds b betrachten, der 2, 4, 1, 3, 4, 5 ist, können wir die Ordnungsmäßigkeit des Indexes nicht nutzen, um die Daten schnell zu lokalisieren. Abfrage des Bereichs des Felds a: Wählen Sie * aus dem Test, wobei a > 1 und b = 2 ist. Indexfehler: Es ist ersichtlich, dass der Index nicht vollständig ungültig ist, sondern dass der Index zunächst verwendet wird, um die Position von a zu lokalisieren. Weil die Schlüssellänge hier 4 ist und die Schlüssellänge des gemeinsamen Index 8 ist. Abfrage des gleichen Wertes von Feld a und des Wertebereichs von Feld b: Indexfehler: Es ist ersichtlich, dass Die oben genannten Situationen können wie folgt zusammengefasst werden: Die Nichteinhaltung des Prinzips der Übereinstimmung mit dem äußersten linken Präfix führt zu einem Indexfehler. Das am weitesten links stehende Matching-Präfix stellt sicher, dass die Reihenfolge der Indexsortierung genutzt werden kann. Indem die Gleichheitsabfrage vorne und die Bereichsabfrage hinten platziert wird, wird die Funktion ausgenutzt, dass [bei Gleichheit der Präfixfelder die nachfolgenden Indexfelder sortiert werden], was in einem speziellen Sinne das Matching-Prinzip des am weitesten links stehenden Präfixes ist. 2. Sehen wir uns an, welche Situationen die Ordnungsmäßigkeit des Index zerstören. - Führen Sie Funktionsoperationen auf Indexfeldern aus Das Ausführen von Funktionsoperationen auf Indexfeldern, wie z. B. - Implizite TypkonvertierungBeim Vergleichen von Zeichenfolgen und Zahlen in MySQL werden die Zeichenfolgen in Zahlen umgewandelt. Das Wesentliche der impliziten Typkonvertierung besteht darin, die Funktion CAST() auf das Indexfeld anzuwenden. Das Prinzip ist das gleiche wie oben. - Implizite Zeichenkodierungskonvertierung Der Kern der Konvertierung der Zeichenfolgenkodierung besteht in der Verwendung 3. Zusammenfassung Der Grund für den Indexfehler liegt darin, dass der Optimierer feststellt, dass er die Ordnungsmäßigkeit des Index nicht nutzen kann. Daher sollten wir bei der Verwendung des Index versuchen, das Prinzip der Präfixübereinstimmung ganz links einzuhalten, die Bereichsabfrage am Ende zu platzieren und keine Fuzzy-Abfragen wie Dies ist das Ende dieses Artikels über das Prinzip der MySQL-Index-Ungültigkeitserklärung. Weitere relevante Inhalte zur MySQL-Index-Ungültigkeitserklärung finden Sie in früheren Artikeln auf 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:
|
<<: So implementieren Sie die Unschärfefunktion von DIV
>>: Beheben Sie den Nginx-Fehler „504 Gateway Time-out“
Das Jahr ist zu Ende und es gibt weniger Aufgaben...
1. Verwendung von instanceof Mit instanceof wird ...
Der Standardbetriebsmodus von MySQL ist der Autoc...
Inhaltsverzeichnis Vorwort Mehrere gängige Bitope...
Inhaltsverzeichnis Vorwort: 1. Docker installiere...
Code kopieren Der Code lautet wie folgt: <!--[...
Hier ist ein mit CSS 3.0 implementierter Textschw...
Verwenden Sie CSS, um Bildlaufleisten zu ändern 1...
Voraussetzung ist die Eingabe der Bewertungsdaten...
1. Zuerst erstellen wir eine JSON-Datei zur inter...
1. Ich habe vor kurzem eine neue Version von Ubun...
Es gibt bereits viele Artikel über Slot-Scope auf...
Vorbereitung: 1. Installieren Sie die VMware Work...
Fügen Sie der angegebenen Datei im Dockerfile meh...
Ich möchte Ihnen von einem aktuellen Fall erzähle...