1. Indizes speichern keine Nullwerte Genauer gesagt speichern einspaltige Indizes keine Nullwerte und zusammengesetzte Indizes speichern keine Werte, die alle Null sind. Indizes können keine Nullwerte speichern. Wenn die Bedingung „ist null“ für diese Spalte verwendet wird, kann der Index daher nicht verwendet werden, da im Index kein Nullwert vorhanden ist und nur die gesamte Tabelle gescannt werden kann. 2. Nicht geeignet für Spalten mit weniger Schlüsselwerten (Spalten mit mehr doppelten Daten) Wenn die Indexspalte TYPE 5 Schlüsselwerte hat und 10.000 Datensätze vorhanden sind, dann greift WHERE TYPE = 1 auf 2.000 Datenblöcke in der Tabelle zu. 3. Führende Fuzzy-Abfragen können keinen Index verwenden (wie „%XX“ oder „%XX%“) Angenommen, es gibt eine Codespalte mit den Werten „AAA“, „AAB“, „BAA“, „BAB“, und wenn eine Bedingung vorliegt, bei der der Code beispielsweise „%AB“ ist, kann die Reihenfolge des Index nicht verwendet werden, da die vorherige Bedingung nicht eindeutig ist, und die Werte müssen einzeln durchsucht werden, um festzustellen, ob die Bedingung erfüllt ist. Dies führt zu einem vollständigen Index-Scan oder einem vollständigen Tabellen-Scan. Wenn die Bedingung lautet, dass Code wie „A %“ ist, können Sie nach der Position des CODE suchen, der mit A in CODE beginnt. Wenn Sie auf Daten stoßen, die mit B beginnen, können Sie die Suche beenden, da die nachfolgenden Daten die Anforderungen definitiv nicht erfüllen. Auf diese Weise können Sie die Vorteile des Index nutzen. 4. Mehrere Situationen, in denen ein Indexfehler auftritt 1. Wenn in der Bedingung ein „oder“ vorkommt, wird es nicht verwendet, auch wenn in der Bedingung ein Index vorkommt (deshalb wird „oder“ so wenig wie möglich verwendet) Wählen Sie * aus tb1, wobei nid = 1 oder Name = „[email protected]“ ist. --Spezial: Die Oder-Bedingung ist nur ungültig, wenn eine Spalte nicht indexiert ist. Im Folgenden wird der Index select * from tb1 where nid = 1 or name = 'seven'; verwendet. Wählen Sie * aus tb1, wobei nid = 1 oder Name = „[email protected]“ und E-Mail = „alex“ ist. 2. Bei einem mehrspaltigen Index wird der Index nur verwendet, wenn er der erste zu verwendende Teil ist 3.Like-Abfrage beginnt mit % Wählen Sie * aus TB1, wo die E-Mail wie „%cn“ aussieht; 4. Wenn der Spaltentyp ein String ist, müssen die Daten in der Bedingung in Anführungszeichen gesetzt werden, sonst wird der Index nicht verwendet. wähle * aus tb1, wobei E-Mail = 999 ist; 5. Wenn MySQL schätzt, dass ein vollständiger Tabellenscan schneller ist als ein Index, verwendet es den Index nicht. 6. Normaler Index bedeutet nicht, dass keine Indizierung erfolgt - != Wählen Sie * aus tb1, wobei E-Mail != 'Alex' ist. --Spezial: Wenn es sich um einen Primärschlüssel handelt, wird der Index trotzdem verwendet select * from tb1 where nid != 123 -> Wählen Sie * aus tb1, wo E-Mail > „Alex“ --Spezial: Wenn der Primärschlüssel oder Index ein Integer-Typ ist, wird der Index trotzdem verwendet select * from tb1 where nid > 123 wähle * aus tb1, wobei num > 123 7. Ganz linkes Präfix des zusammengesetzten Index Wenn der kombinierte Index lautet: (Name, E-Mail) Name und E-Mail -- mit Index Oben finden Sie eine detaillierte Zusammenfassung mehrerer Situationen, in denen MySQL-Indizes fehlschlagen. Weitere Informationen zu MySQL-Indexfehlern finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detaillierte Schritte zum Bereitstellen von SpringBoot-Projekten mit Docker in Idea
Detaillierte Erläuterung der MySQL-Existes- und N...
1. Warum einen Index erstellen? (Vorteile) Dies l...
Da es zu mühsam ist, jedes Mal das Installationst...
Funktionen zu Null in MySql IFNULL ISNULL NULLIF ...
Vorwort: Ich habe neulich einen Alibaba-Cloud-Hos...
Inhaltsverzeichnis Vorne geschrieben Anforderungs...
Lösung: Binden Sie das Klickereignis an die Audio...
Das Konzept des relativen Pfades Verwenden Sie de...
Als Pflichtkurs für Frontend-Entwickler kann CSS3...
Dieser Artikel stellt hauptsächlich den Beispielc...
Benutzer- und Gruppenverwaltung 1. Grundlegende K...
Inhaltsverzeichnis 1. Grundlagen 2. Knoten, Bäume...
Inhaltsverzeichnis Vorwort 1. Routing von Lazy Lo...
Inhaltsverzeichnis 1. Funktionsdefinition 1.1 Fun...
Die folgenden HTML-Tags umfassen grundsätzlich all...