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 :

Sous-requêtes VS jointures ?


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 144
    Points : 127
    Points
    127
    Par défaut Sous-requêtes VS jointures ?
    Bonjour,

    Au niveau performances et optimisation : quand utiliser une sous-requête et quand utiliser une jointure ?

    Il m'arrive souvent d'avoir les deux possibilités d'écriture en "benchmarkant" j'ai constaté que parfois une sous-requête s'avère bien plus rapide qu'une jointure...

    Bref, comment s'y retrouver ?

    Merci beaucoup pour votre aide !
    Evocatii

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 33
    Points
    33
    Par défaut
    Moi j'ai pour habitude de faire des sous requête quand il y a beaucoup d'enregistrement. Je trouve ça plus rapide. Alors je suppose que c'est au niveau de l'optimisation de la base, et certainement que la base fait les jointures avant de filtrer. Alors que si tu selectionnes les lignes necessaires et après que tu fais des jointures, tu mets forcement moins de temps, puisque tu as moins d'enregistrement.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 975
    Points
    52 975
    Billets dans le blog
    6
    Par défaut
    Sur quel critère vous basez vous ????

    Sur le nombre d'IO effectué ? Si la durée de CPU consommé par le moteur SQL ?

    parce que si c'est au pif, je pense que vous êtes dans le faux. Une jointure, si elle repose sur des index (ce qui devrait être TOUJOURS le cas) est en principe bien plus rapide qu'une sous requête.

    A +

Discussions similaires

  1. Transformer une sous requête en jointure.
    Par ithurts dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/06/2010, 00h26
  2. Réponses: 3
    Dernier message: 25/05/2009, 17h11
  3. Performance - Sous requête ou jointure
    Par Shivan dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/12/2008, 16h06
  4. Remplacer une sous-requête par une jointure
    Par MPQuatre dans le forum Requêtes
    Réponses: 6
    Dernier message: 05/12/2007, 17h28
  5. sous requêtes et jointures externes
    Par Harpoon dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/05/2007, 19h43

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