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 :
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 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 AND idCategorie = 1
						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...