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

Requêtes MySQL Discussion :

Différence entre jointure et requetes imbriquées


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut Différence entre jointure et requetes imbriquées
    Bonjour,

    J'aurais une petite question à poser.
    Voila, je fais du dév Web. J'ai l'habitude de faire des requetes imbriquées.
    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `name` FROM `countries` WHERE `id_country` IN (SELECT `id_country` FROM `companies` WHERE `id_company` IN (SELECT `id_company` FROM `users` WHERE `id_user` = 2))
    alors que le second développeur fais des jointures
    avec des LEFT JOIN

    lequel de ces deux type de requetes est le plus optimisé (pourquoi) ?

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 067
    Par défaut
    Bonjour,

    En théorie, il faut préférer les jointures aux sous-requêtes.
    Dans la pratique, les tests effectués montrent des différences entre SGBD et entre versions au sein d'un SGBD.
    Si vraiment, pour ton cas particulier, tu souhaites savoir ce qui est le plus optimisé, utilise EXPLAIN.
    Sinon, les optimisations usuelles sont décrites dans le tutoriel ici.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    et en quoi les joiontures sont elles plus optimisées ?

  4. #4
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Le principe d'une sous requête est : pour chaque occurrence retourné par la première, on exécute une seconde requête, donc beaucoup de requête exécute.

    Pour les jointure on lie les donnée une fois pour toute, et on récupère toutes les informations d'un coup.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    oki, j'ai compris merci

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/06/2009, 13h15
  2. jointure ou requete imbriquée
    Par cdsoft dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 23/01/2009, 15h24
  3. Réponses: 4
    Dernier message: 07/04/2007, 12h23
  4. Requetes imbriquées et jointures avec 3 tables
    Par The Wretched dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/11/2005, 12h03
  5. Requetes imbriquées et jointures
    Par Emile Le Tueur* dans le forum Requêtes
    Réponses: 4
    Dernier message: 01/04/2004, 00h12

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