Passer au contenu principal
Formation développeur web
  • Accueil
  • Plus
Vous êtes connecté anonymement
Connexion
Accueil
Passer Hébergement
Hébergement


Vous n'avez pas encore votre propre espace web pour héberger vos projets ? Noms de domaines, Wordpress, VPS, espace de stockage : hébergez vos projets web dès maintenant, à partir de 1€ / mois.

Passer Formation
Formation


Vous êtes intéressé par le secteur du web, de l'informatique, de la programmation ? Que ce soit pour une formation qualifiante ou ponctuelle, en présentiel ou à distance, financée par l'état, par l'alternance, le CPF, etc...  Contactez-moi afin de vous orienter correctement.

  1. Back-end
  2. Administrer une base de données
  3. Index : optimiser une recherche grâce aux index
Devoir

Index : optimiser une recherche grâce aux index

Conditions d'achèvement
Ouvert le : lundi 8 mars 2021, 00:00
Note formateur pour le formateur : trouver une bdd beaucoup plus grosse pour mieux constater l'écart de temps de réponse. (ex : professionnels de santé)

Mise en place :

  1. téléchargez le fichier villes-no-index.sql fourni en pièce jointe
  2. créez une nouvelle base de données villesnoindex
  3. importez le fichier villes-no-index.sql dans la db villesnoindex


Une fois que c'est fait, exécutez cette requête dans votre nouvelle base :

SELECT departement_nom, ville_departement, SUM(`ville_surface`) AS dpt_surface 
FROM `villes_france_free` 
LEFT JOIN departement ON departement_code = ville_departement
GROUP BY ville_departement  
ORDER BY dpt_surface  DESC

Cette requête vous permet d'obtenir la liste des départements, classés par superficie et triés dans l'ordre décroissant.

Relevez le temps d'exécution de la requête que vous donne phpMyAdmin. 

Voici un exemple sur mon pc :


Notez votre résultat quelque part (sur l'image : 0,2102 secondes).

Dites-vous qu'une requête de 0.2 sec, c'est beaucoup. Une bonne requête doit être rapide.

Maintenant, créez des index sur les champs departement_code et ville_departement.

Relancez la requête, puis relevé le nouveau temps de d'exécution :



Dans cet exemple, on est passé de 0.2102 secondes, à 0.1498, soit plus de 25% de temps de réponse en moins grâce aux index. Et notre table villes ne fait "que" 36700 lignes. Ce qui est relativement petit comparé à d'autres tables (une table peux facilement contenir des millions de lignes). On peut donc aisément avoir des requêtes qui prennent quelques secondes si la table est très grosse et/ou la requête SQL mal faite.

Donc en rajoutant un index, on gagne énormément en rapidité sur des recherches concernant de gros volumes de données.
  • villes-noindex.sql villes-noindex.sql
    8 mars 2021, 11:42
Contacter l'assistance du site
Vous êtes connecté anonymement (Connexion)
Résumé de conservation de données
Obtenir l'app mobile
Fourni par Moodle