Instanzen von Indexfehlern: 1. Die Like-Abfrage beginnt mit „%“; 2. Der Index wird nicht vor und nach der or-Anweisung verwendet; 3. Der erste Spaltenindex wird nicht im kombinierten Index verwendet; „NULL“ wird für die Indexspalte verwendet. Oder „IS NOT NULL“-Operation. 5. Verwenden Sie „not“, „<>“, „!=" usw. für das Indexfeld.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
Ein Index ist eine spezielle Datenbankstruktur, die aus einer oder mehreren Spalten in der Datentabelle besteht. Sie kann verwendet werden, um Datensätze mit einem bestimmten Wert in der Datentabelle schnell abzufragen. In diesem Abschnitt werden Bedeutung, Funktion, Vor- und Nachteile von Indizes ausführlich erläutert.
Bei Indizes müssen Sie beim Abfragen von Daten nicht alle aufgezeichneten Informationen lesen, sondern nur die Indexspalten abfragen. Andernfalls liest das Datenbanksystem alle Informationen jedes Datensatzes zum Abgleich.
Der Index kann mit der phonetischen Reihenfolge des Xinhua-Wörterbuchs verglichen werden. Wenn Sie beispielsweise das Wort „ku“ nachschlagen möchten und keine Lautfolge verwenden, müssen Sie es Seite für Seite in den 400 Seiten des Wörterbuchs finden. Wenn Sie jedoch das Pinyin extrahieren, um eine phonetische Sequenz zu bilden, müssen Sie es nur direkt in der Phonetiktabelle von mehr als 10 Seiten nachschlagen. Dadurch kann viel Zeit gespart werden.
Daher kann die Verwendung von Indizes die Abfragegeschwindigkeit der Datenbank erheblich verbessern und die Leistung des Datenbanksystems effektiv verbessern.
Mehrere Situationen, in denen die Indexabfrage fehlschlägt:
2. Vor und nach der or-Anweisung wird kein Index verwendet.
Wenn nur eines der linken und rechten Abfragefelder von oder ein Index ist, ist der Index ungültig. Er wird nur wirksam, wenn sowohl das linke als auch das rechte Abfragefeld von oder Indizes sind
3. Kombinierter Index. Anstatt den Index der ersten Spalte zu verwenden, ist der Index ungültig.4. Wenn der Spaltentyp ein String ist, müssen die Daten in der Bedingung in Anführungszeichen gesetzt werden, andernfalls wird der Index nicht verwendet
Der Datentyp wird implizit konvertiert. Wenn varchar nicht in einfache Anführungszeichen gesetzt wird, wird es möglicherweise automatisch in den Typ int konvertiert, wodurch der Index ungültig wird und ein vollständiger Tabellenscan erfolgt.5. Verwenden Sie die Operation IS NULL oder IS NOT NULL für die Indexspalte.
Das ist falsch!
)
Erklärung des obigen Fehlers:Hier werde ich eine emp-Tabelle neu erstellen
Neuen Index erstellenIndex anzeigen
Führen Sie die SQL-Anweisung aus
Sie können feststellen, dass der Index verwendet wird
Zusammenfassung: Verwenden Sie die Operation IS NULL oder IS NOT NULL für die Indexspalte. Der Index schlägt nicht unbedingt fehl! ! ! 6. Verwenden Sie not, <>, != im Indexfeld.Der Ungleichheitsoperator verwendet niemals einen Index, daher führt seine Verarbeitung nur zu einem vollständigen Tabellenscan. Optimierungsmethode: Schlüssel<>0 in Schlüssel>0 oder Schlüssel<0 ändern. 7. Führen Sie Berechnungsoperationen für Indexfelder durch und verwenden Sie Funktionen für Felder. (Der Index ist emp(ename,empno,sal)). ungültig werden. Wenn MySQL schätzt, dass die Verwendung eines vollständigen Tabellenscans schneller ist als die Verwendung eines Index, dann verwenden Sie keinen Index MySQL-Video-Tutorial]
Das obige ist der detaillierte Inhalt vonIn welchen Situationen schlägt der MySQL-Index fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!