1. Prinzip des besten linken Präfixes – Wenn mehrere Spalten indiziert werden, muss das Prinzip des ganz linken Präfixes befolgt werden. Dies bedeutet, dass die Abfrage in der äußersten linken Spalte des Index beginnt und keine Spalten im Index überspringt. Voraussetzung: Ein zusammengesetzter Index (Benutzername, Passwort, Alter) wurde der Tabelle hinzugefügt Analyse: Der Abfrage fehlt der Benutzername und der Benutzername ganz links im zusammengesetzten Index der Abfragebedingungen fehlt, was gegen das Prinzip des besten linken Präfixes verstößt und dazu führt, dass der Index fehlschlägt und zu ALL wird, einem vollständigen Tabellenscan. Analyse: In der Abfragebedingung fehlen Benutzername und Passwort. Der Benutzername und das Passwort ganz links im zusammengesetzten Index der Abfragebedingung fehlen, was gegen das Prinzip des besten linken Präfixes verstößt, was dazu führt, dass der Index fehlschlägt und zu ALL wird, einem vollständigen Tabellenscan. Analyse: Diese Abfrage hat nur eine Benutzernamenbedingung. Gemäß dem Best-Left-Prefix-Prinzip kann der Index verwendet werden, allerdings nur teilweise. 2. Führen Sie keine Vorgänge (Berechnungen, Funktionen, (automatische oder manuelle) Typkonvertierungen) an der Indexspalte aus, da dies zu einem Indexfehler und einem vollständigen Tabellenscan führen würde. Analyse: Die erste Indexspalte des Diagramms verwendet keine Funktionen, folgt dem Prinzip des linken Präfixes und kann den Index verwenden. Die zweite Abbildung verwendet eine Funktion auf der Indexspalte. Auch wenn das Prinzip des linken Präfixes befolgt wird, ist der Index immer noch ungültig. 3. Die Speicher-Engine kann die Spalten rechts von der Bereichsbedingung im Index nicht verwenden und der Index wird nach dem Bereich ungültig. (< ,> zwischen und) Analyse: Alle Indizes in Abbildung 1 werden verwendet. In Abbildung 2 verwendet der Index Benutzername und Alter, aber der Benutzername wird mithilfe des Index abgerufen, während sich das Alter auf die Indexsortierung konzentriert. In diesem Fall ist das Alter eine Bereichssuche und der Kennwortindex ist ungültig. 4. Wenn MySQL Ungleichungen (!= oder <>) verwendet, kann der Index nicht verwendet werden, was dazu führt, dass der Index fehlschlägt. 5. Die Verwendung von is not null oder is null in MySQL führt dazu, dass der Index unbrauchbar wird Analyse: Für die Spalte „Benutzername“ wird ein normaler Index erstellt. Die Abfrage enthält nicht null und der resultierende Index ist nicht wirksam. 6. Wenn in MySQL die Like-Abfrage mit „%“ beginnt, wird der Index ungültig und die gesamte Tabelle wird gescannt, wobei der Index abgedeckt wird. Analyse: Für die Spalte Benutzername wird ein normaler Index angelegt und eine Abfrage mit einem Wert ausgeführt, der mit % beginnt. Dadurch wird der Index ungültig und überschrieben. 7. In MySQL ist der String-Index ungültig, wenn er nicht in einfache Anführungszeichen eingeschlossen ist. Richtige Schreibweise: select * from t_user where username = 'lujin'; 8. Wenn in MySQL die Bedingung ein „oder“ enthält, wird es nicht verwendet, auch wenn die Bedingung einen Index enthält (deshalb sollten Sie versuchen, „oder“ so wenig wie möglich zu verwenden). Wenn Sie „oder“ verwenden und den Index wirksam machen möchten, können Sie in der „oder“-Bedingung nur jeder Spalte einen Index hinzufügen. 9. Wenn MySQL einen vollständigen Tabellenscan schneller als einen Index verwendet, wird der Index nicht verwendet Zusammenfassen Dies ist das Ende dieses Artikels über die Analyse von MySQL-Indexfehlern. Weitere relevante Inhalte zu MySQL-Indexfehlern 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:
|
<<: Verwenden Sie Smart CSS, um Stile basierend auf der Scrollposition des Benutzers anzuwenden
>>: Docker View-Prozess, Speicher und Cup-Verbrauch
Reproduktion des Problems Alibaba Cloud Server, b...
1. Ursache Die Anforderung besteht darin, zwei Ze...
Inhaltsverzeichnis 1. Document.execCommand()-Meth...
Webseiten enthalten sehr komplexe HTML-Strukturen...
1 Herunterladen Die Adresse lautet: https://dev.m...
1. es-Startbefehl: docker run -itd -e TAKE_FILE_O...
Es gibt häufig Szenarien, in denen das Bild an di...
Rezension der vorherigen Folge: Gestern haben wir...
Doccer-Einführung: Docker ist eine Container-bezo...
Als ich mein primäres Betriebssystem von Windows ...
Sondersymbole Benannte Entitäten Dezimalkodierung...
Zusammenfassung: HBase verfügt über zahlreiche Be...
Vorwort Standardmäßig werden Nginx-Protokolle in ...
1. Die Größe des durch den HTML-Hyperlink geöffne...
1 Umsetzungsprinzip Dies geschieht mithilfe der E...