Limite d'optimisation MySQL et ordre par

 

Optimiser la commande par

 

Recherchez l'identifiant du film et les informations de description, triez-les en fonction du thème et supprimez 5 données en commençant par le numéro de série 50.

L'instruction SQL non optimisée est la suivante

select film_id,description from sakila.film order by title limit 50,5;

 

Nous laissons l'ordre par champ être l'index de la clé primaire, puis examinons le plan d'exécution, ce qui améliore considérablement l'efficacité

select film_id,description from sakila.film order by film_id limit 50,5;

 

 

 

Optimiser la limite

 

Supposons que nous voulons commencer avec une ligne de centaines de milliers de millions de données et prendre 5 enregistrements. De cette façon, l'opération d'E / S deviendra de plus en plus grande, nous devons donc enregistrer la clé primaire de la dernière requête et l' utiliser dans la requête suivante Filtrage de clé primaire. Cela évite d'analyser trop d'enregistrements lorsque la quantité de données est importante

select film_id,description from sakila.film where film_id >600 and film_id<=605 order by film_id limit 1,5;

 Vous pouvez voir cette opération, le nombre de lignes récupérées n'est que de 5 lignes, que vous commenciez par des dizaines de milliers de données.

k

Remarque: La clé primaire doit être triée séquentiellement et consécutivement. S'il y a une ou plusieurs colonnes dans la clé primaire, les données avec moins de 5 lignes de données apparaîtront; si elles ne sont pas continues, créez une colonne index_id supplémentaire pour garantir Une colonne de données doit augmenter automatiquement et ajouter l'index

Publié 568 articles originaux · Comme 180 · Visites 180 000+

Je suppose que tu aimes

Origine blog.csdn.net/Delicious_Life/article/details/105609778
conseillé
Classement