Heim  >  Artikel  >  Datenbank  >  Wie verwende ich den Index in MySQL?

Wie verwende ich den Index in MySQL?

(*-*)浩
(*-*)浩Original
2019-05-08 11:37:299458Durchsuche

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.

Wie verwende ich den Index in MySQL?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn