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