Bonjour,
J'ai 2 questions portant sur la performance des requêtes SQL :
- Mieux vaut-il faire une seule "grosse" requête (avec des jointures et des sous requêtes) que de faire plusieurs petites requêtes les unes à la suite des autres ?
Je me dis que logiquement une grosse requête devrait être plus optimisée notamment car nous n'appelons qu'une fois notre sgbd mais cependant la requête est moins "maintenable"
- Ensuite dans le cas où il serait plus judicieux de faire une grosse requête, pourriez-vous me dire la différence qu'il y a entre ces 2 requêtes :
Modèle utilisé :
SALARIE
salarie_id
salarie_name
SALARIE_BUREAU
id
salarie_id
bureau_id
BUREAU
bureau_id
""
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT bureau_id FROM salarie_bureau WHERE salarie_id = SELECT salarie_id FROM salarie WHERE salarie_name = 'toto';
ou
";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT bureau_id FROM salarie_bureau INNER JOIN salarie ON salarie_bureau.salarie_id = salarie.salarie_id WHERE salarie.name = 'toto'
La première est une requête imbriquée, l'autre avec jointure. Ces 2 requêtes donnent-elles toujours le même résultat ? Quelle serait la plus performante des 2 ?
Merci d'avance !
remdel
Partager