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