Wenn der Index während des Sortiervorgangs zum Sortieren verwendet werden kann, kann die Sortiergeschwindigkeit erheblich verbessert werden. Um den Index zum Sortieren zu verwenden, müssen die folgenden zwei Punkte erfüllt sein.
1. Die Spaltenreihenfolge nach der ORDER BY-Klausel muss mit der Spaltenreihenfolge des kombinierten Index übereinstimmen und die Sortierrichtung (Vorwärts-/Rückwärtsreihenfolge) aller Sortierspalten muss konsistent sein
2. Der abgefragte Feldwert muss in der Indexspalte enthalten sein und den abdeckenden Index erfüllen.
Empfohlener Kurs: MySQL-Tutorial.
Lassen Sie es uns anhand von Beispielen analysieren
Erstellen Sie einen kombinierten Index für die user_test
Tabelle
ALTER TABLE user_test ADD INDEX index_user(user_name , city , age);
Fall, in dem die Indexsortierung verwendet werden kann
SELECT user_name, city, age FROM user_test ORDER BY user_name; SELECT user_name, city, age FROM user_test ORDER BY user_name, city; SELECT user_name, city, age FROM user_test ORDER BY user_name DESC, city DESC; SELECT user_name, city, age FROM user_test WHERE user_name = 'feinik' ORDER BY city;
Hinweis: Die vierte SQL-Anweisung ist etwas speziell, wenn die Where-Abfragebedingung die erste Spalte der Indexspalte ist und eine konstante Bedingung ist Es kann auch einen Index verwenden.
Fall, in dem die Indexsortierung nicht verwendet werden kann
Geschlecht steht nicht in der Indexspalte
SELECT user_name, city, age FROM user_test ORDER BY user_name, sex;
Die Richtung der Sortierspalte ist inkonsistent
SELECT user_name, city, age FROM user_test ORDER BY user_name ASC, city DESC;
Die gewünschte Abfrage Das Feld Spalte Geschlecht ist nicht in der Indexspalte enthalten
SELECT user_name, city, age, sex FROM user_test ORDER BY user_name;
wobei die Abfragebedingung user_name
eine Bereichsabfrage ist, also andere Spalten des Index
SELECT user_name, city, age FROM user_test WHERE user_name LIKE 'feinik%' ORDER BY city;kann nicht verwendet werden
Das obige ist der detaillierte Inhalt vonWie verwende ich den Index in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!