Bonjour,
Je voulais savoir qu'elle est la différence entre une jointure à l'aide de "tab1 JOIN tab2" et une jointure avec "WHERE tab1.id=tab2.id" en terme de rapidité.
Merci d'avance pour vos réponses.
Version imprimable
Bonjour,
Je voulais savoir qu'elle est la différence entre une jointure à l'aide de "tab1 JOIN tab2" et une jointure avec "WHERE tab1.id=tab2.id" en terme de rapidité.
Merci d'avance pour vos réponses.
Salut !
Juste en haut de la page, il y a un petit débat sur le sujet :
http://www.developpez.net/forums/d52...-dit-jointure/
En gros, beaucoup de gens disent que ton optimiseur devrait faire le tri et que le plan d'exécution est le même...
... Et certains disent que lorsque ça devient très complexe, ce n'est pas forcément le cas !
Perso, j'utilise JOIN surtout parce que d'un point de vue lisibilité, tu fais bien la distinction entre ce qui te sert à mettre en relation les différentes tables, et ce qui te sert à filtrer.
(tant d'un point de vue lisibilité pour les autres, que pour matérialiser ce que je souhaite faire)
EDIT : il y a un cas où la différence est sensible : la jointure externe.
Bien que sous Oracle par exemple tu as un opérateur spécifique dans le WHERE (à savoir le (+)), Oracle préconise l'utilisateur de LEFT OUTER JOIN à la place.
Oki,
merci beaucoup pour cette réponse complète.