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

SQL Firebird Discussion :

Choix dans les jointures externes


Sujet :

SQL Firebird

  1. #1
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut Choix dans les jointures externes
    Salut tout le monde.

    Mon problème est que je ne trouve pas de doc sur le choix de l'ordre des jointures et savoir s'il faut préférer des jointures gauches ou droites dans un soucis d'optimisation de la requête.

    Par exemple, si on a 4 tables reliées par des jointures externes, dans quel sens faut-il les relier ?
    Je pose la question dans un cas général et non sur un cas précis.
    Je sais qu'il faut d'abord mettre les Full jointures puis faire les Left et les Right, mais quelles sont les règles pour optimiser tout ça ?

    Merci pour votre aide.

    PS : question subsidiaire qui ne mérite pas un sujet à part entière, j'utilise Firebird, est-il prévu un jour que le renommage des tables soit possible ?

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 379
    Points : 376
    Points
    376
    Par défaut
    gauche ou droite importe peux, la gauche est souvent utilisé (sans parti pris pour un parti politique...)

    l'ordre des jointures et par contre plus important, il est préférable de déclarer les plus petites tables d'abord.

    ne pas oublier de qualifier tous les noms des champs avec un alias par exemple, sans cela, un champ non qualifié sera (le plus souvent) extrait de la dernière table déclarée.

    d'ailleurs en fb 1.5, cela ne fonctionne plus du tout!

    a noter qu'un left/right join et plus lent à fonctionner qu'une jointure pure et dure.

    et pour finir, attention aux index.

  3. #3
    Membre confirmé Avatar de WebPac
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 947
    Points : 512
    Points
    512
    Par défaut
    Salut, finalement, j'ai fini le boulot.
    J'ai essayé de faire plus de jointures gauches que de droites car les requêtes étaient plus rapides, enfin à ce que j'ai pu voir.
    J'ai aussi essayé de commencer par la table étant la plus principale, cad celle qui a le plus de jointure externe sur elle.

    Ca marche, merci d'avoir répondu.

    PS : oui j'ai mis pour tous les champs les noms des tables avec par mesure de sécurité et de précision.

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

Discussions similaires

  1. Difficulté dans les jointures externes
    Par diamic dans le forum Informix
    Réponses: 2
    Dernier message: 11/06/2012, 17h02
  2. [Index] Utilisation dans les jointures..
    Par argv666 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 07/03/2006, 14h07
  3. Réponses: 1
    Dernier message: 07/11/2005, 09h39
  4. Ordre d'exécution dans une jointure externe
    Par Pero dans le forum Langage SQL
    Réponses: 17
    Dernier message: 20/09/2005, 12h22
  5. Réponses: 17
    Dernier message: 18/03/2005, 09h23

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