IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[Optimisation] Différence entre les jointures


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 33
    Par défaut [Optimisation] Différence entre les jointures
    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.

  2. #2
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    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.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 33
    Par défaut
    Oki,

    merci beaucoup pour cette réponse complète.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différences entre les algorithmes de jointure
    Par kochfet dans le forum Optimisations
    Réponses: 0
    Dernier message: 11/06/2013, 10h18
  2. Différences entre les types de jointures
    Par Age_of_Aquarius dans le forum Langage SQL
    Réponses: 7
    Dernier message: 29/04/2013, 03h55
  3. [Optimisation] Différence entre les jointures
    Par rburney dans le forum SQL
    Réponses: 2
    Dernier message: 31/10/2008, 10h29
  4. Réponses: 67
    Dernier message: 16/12/2007, 13h41
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo