Bonjour à tous,
J'ai une question que je me pose souvent. J'aimerais déterminer de façon général, laquelle des deux requêtes suivante est la plus performante et la bonne façon de faire.
Toute d'abord, prenons la table suivante
Cette table contient des employés. Chaque employé est susceptible d'être le patron d'un autre. Enfin bref, imagons maintenant que je désire récupérer la liste de tous les employés ainsi que le nombre de subordinné (immédiat) étant associé à chacun d'eux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
Voilà la méthode #1 :
Ici, j'utilise un GROUP BY qui d'après mes connaissance semble couteux vu le nombre d'argument qu'il possède.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Maintenant, voyons la méthode #2 :
Cette dernière méthode commence par regrouper les données en fonction du ID de l'employé ensuite, elle joint le tout à la table Employee afin de récupérer les information supplémentaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Donc, selon-vous laquelle de ces deux méthodes est la plus performante ? Aussi, laquelle est la bonne façon de faire selon ce context.
Merci pour vos commentaires

 

 
		
		 
         
 

 
			
			


 
			 
   
 


 GROUP BY multiples (Performance)
 GROUP BY multiples (Performance)
				 Répondre avec citation
  Répondre avec citation
Partager