Maison > base de données > tutoriel mysql > Explication détaillée du code d'optimisation de l'ordre par instruction MySQL

Explication détaillée du code d'optimisation de l'ordre par instruction MySQL

伊谢尔伦
Libérer: 2017-06-28 14:06:51
original
1864 Les gens l'ont consulté

L'instruction Order by est utilisée pour le tri. Nous utilisons souvent Order by pour le tri. Je vais maintenant vous parler de l'utilisation de Order by et du tri optimisé. Les étudiants dans le besoin peuvent se référer à

<.>MySQL Le mot-clé Order By est utilisé pour classer les données dans l'enregistrement. Le mot-clé MySQL Order By est classé en fonction des mots-clés.
Le mot-clé ORDER BY est utilisé pour classer les données dans l'enregistrement.

SELECT column_name(s) 
FROM table_name 
ORDER BY column_name
Copier après la connexion
Exemple

Code de création SQL :

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, &#39;www.jb51.net&#39;, 1);
INSERT INTO mysql_order_by_test (uid, name, sex) VALUES(2, &#39;李四&#39;, 2);
INSERT INTO mysql_order_by_test (uid, name, sex) VALUES(3, &#39;王二麻子&#39;, 1);
Copier après la connexion
Implémentez l'optimisation de l'instruction ORDER BY de MySQL via l'optimisation

index  :

1. Optimisation de l'index de ORDER BY. Si une instruction SQL est sous la forme :

SELECT [column1],[column2],…. FROM [TABLE] ORDER BY [sort];
Copier après la connexion
et que vous créez un index dans le champ [tri], vous pouvez utiliser l'index pour effectuer un tri par optimisation.

2. Optimisation de l'index de WHERE + ORDER BY, sous la forme :

SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] = [value] ORDER BY [sort];
Copier après la connexion
Créer un index conjoint (colonneX, tri) pour réaliser l'ordre par optimisation.

Remarque : Si la colonne >

Construire un index sur (uid, x, y) pour obtenir l'ordre par optimisation est bien mieux que de construire un index sur (x, y, uid)

SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] IN ([value1],[value2],…) ORDER BY[sort];
Copier après la connexion
Dans certains cas, MySQL peut utiliser un index pour satisfaire la clause ORDER BY sans nécessiter de tri supplémentaire. La condition Where et l'ordre par utilisent le même index, et l'ordre de l'ordre par est le même que l'ordre de l'index, et les champs de l'ordre par sont tous classés par ordre croissant ou décroissant.

Par exemple : le SQL suivant peut utiliser des index.
SELECT * FROM [table] WHERE uid=1 ORDER x,y LIMIT 0,10;
Copier après la connexion

Mais l'index n'est pas utilisé dans les cas suivants :

SELECT * FROM t1 ORDER BY key_part1,key_part2,... ;
SELECT * FROM t1 WHERE key_part1=1 ORDER BY key_part1 DESC, key_part2 DESC;
SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 DESC;
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal