Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung des MySQL Order by Statement-Optimierungscodes

Detaillierte Erläuterung des MySQL Order by Statement-Optimierungscodes

伊谢尔伦
伊谢尔伦Original
2017-06-28 14:06:511839Durchsuche

Sortieren nach wird häufig zum Sortieren verwendet. Jetzt erzähle ich Ihnen mehr über die Verwendung von Sortieren nach und über die optimierte Sortierung 🎜>

MySQL

Das Schlüsselwort „Order By“ wird verwendet, um die Daten im Datensatz zu klassifizieren. MySQL „Order By Keyword“ wird nach Schlüsselwörtern klassifiziert. Das Schlüsselwort „ORDER BY“ wird zur Klassifizierung der Daten im Datensatz verwendet.
Beispiel

SQL-Erstellungscode:
SELECT column_name(s) 
FROM table_name 
ORDER BY column_name

Implementieren Sie die ORDER BY-Anweisungsoptimierung von MySQL durch

Index

Optimierung:
CREATE TABLE IF NOT EXISTS mysql_order_by_test (
  uid int(10) NOT NULL AUTO_INCREMENT,
  name char(80) NOT NULL,
  sex tinyint(1) NOT NULL,
  KEY uid (uid)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

INSERT INTO mysql_order_by_test (uid, name, sex) VALUES(1, 'www.jb51.net', 1);
INSERT INTO mysql_order_by_test (uid, name, sex) VALUES(2, '李四', 2);
INSERT INTO mysql_order_by_test (uid, name, sex) VALUES(3, '王二麻子', 1);

1. Indexoptimierung von ORDER BY. Wenn eine SQL-Anweisung die Form hat:

und Sie einen Index im Feld [sortieren] erstellen, können Sie den Index für die Sortierung nach Optimierung verwenden.

2. Indexoptimierung von WHERE + ORDER BY, in der Form:
SELECT [column1],[column2],…. FROM [TABLE] ORDER BY [sort];

Erstellen Sie einen gemeinsamen Index (SpalteX, Sortierung), um die Reihenfolge durch Optimierung zu erreichen.

Hinweis: Wenn Spalte >
SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] = [value] ORDER BY [sort];
Das Erstellen eines Index für (uid, x, y), um eine Reihenfolge durch Optimierung zu erreichen, ist viel besser als das Erstellen eines Index für (x, y, uid)

In einigen Fällen kann MySQL einen Index verwenden, um die ORDER BY-Klausel zu erfüllen, ohne dass eine zusätzliche Sortierung erforderlich ist. Die Where-Bedingung und die Reihenfolge nach verwenden denselben Index, und die Reihenfolge der Reihenfolge nach ist dieselbe wie die Indexreihenfolge, und die Felder der Reihenfolge nach sind alle in aufsteigender oder absteigender Reihenfolge.

Zum Beispiel: Die folgende SQL kann Indizes verwenden.
SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] IN ([value1],[value2],…) ORDER BY[sort];

Der Index wird jedoch in den folgenden Fällen nicht verwendet:
SELECT * FROM [table] WHERE uid=1 ORDER x,y LIMIT 0,10;

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des MySQL Order by Statement-Optimierungscodes. 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