Bonjour !
J'ai une table catalogue qui contient une liste de DVD avec 3000 entrées, une clef primaire sur l'id de la table et plusieurs tables en relation avec celle-ci.
J'ai une autre table catégorie qui contient ma liste de catégorie.
Et une 3eme table qui contient fait la "jointure" entre les catégories & les DVD car un DVD peut faire partie de plusieurs catégories.
Pour le moment, tout mes DVD font partie de la même catégorie et donc ma table qui fait les jointures contient le meme nombre d'entrée que ma table qui contient les DVD.
Ma requete met 10 secondes en moyenne :
Alors que celle-ci met moins d'une demi seconde :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT catalogue.idCatalogue, titre, duree, sortieLocation, realisateur, distributeur FROM catalogue LEFT JOIN cataloguecat ON cataloguecat.idCatalogue = catalogue.idCatalogue LEFT JOIN souscategorie ON souscategorie.idSousCategorie = cataloguecat.idSousCategorie WHERE supprime = 0 GROUP BY catalogue.idCatalogue';
Alors qu'elles traitent exactement le même nombre d'entrées... Je ne comprend vraiment pas pourquoi il y a cette différence...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT catalogue.idCatalogue, titre, duree, sortieLocation, realisateur, distributeur FROM catalogue LEFT JOIN cataloguecat ON cataloguecat.idCatalogue = catalogue.idCatalogue LEFT JOIN souscategorie ON souscategorie.idSousCategorie = cataloguecat.idSousCategorie WHERE supprime = 0 AND idCategorie = 1 GROUP BY catalogue.idCatalogue';
Partager