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

Oracle Discussion :

Jointure entre trois tables via SQL Developer


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Homme Profil pro
    chef de projet
    Inscrit en
    Octobre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Jointure entre trois tables via SQL Developer
    Bonjour la communauté,

    J'ai trois tables avec des millions d'enregistrements.
    J'essaie de faire une requête en jointure simple pour regrouper différentes informations des employés en me basant sur les conditions suivantes :
    • e.emp_NUMDOS - numéro dossier de l'employé de la table "employee"
    • t.tr_MANUMDOS - numéro dossier de l'employé de la table "travel"
    • e.emp_NOM1 - nom de l'employé de la table "employee"
    • e.emp_PRENOM - prénom de l'employé de la table "employee"
    • f.fl_BENNOM - nom de l'employé de la table "fly"
    • f.fl_BENPRE - prénom de l'employé de la table "fly"


    Le souci, la requête tourne pendant longtemps (1h45) et je suis obligé de l'annuler car on note des ralentissements dans les applications.
    Comment puis-je améliorer ma requête pour réduire la durée d’exécution et rapatrier les infos.

    Merci d'avance.

    Cordialement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    SELECT (e.employee_PK_ID),(t.travel_PK_ID),(f.fly_PK_ID),
      e.emp_NOM1,
      e.emp_PRENOM,
      e.emp_NOM2,
      e.emp_IDENT,
      e.emp_DATENAI,
      e.emp_SEXE,
      f.fl_ASSNUM,
      f.fl_CPAM,
      f.fl_CPAMCLE,
      t.tr_NUM,
      t.tr_RECODE,
      t.tr_PGSCODE,
      e.emp_DATENT,
      t.tr_DDEB,
      t.tr_DFIN,
      t.tr_DEJFAC,
      t.tr_PRESENT,
      e.emp_CODECES,
      t.tr_DATCRE,
      t.tr_VALID
    FROM employee e, travel t, fly f
    WHERE e.emp_NUMDOS = t.tr_MANUMDOS
    AND t.tr_RECODE   = 'HEPH'
    AND e.emp_NOM1     = f.fl_BENNOM
    AND e.emp_PRENOM   = f.fl_BENPRE
    ORDER BY e.emp_NOM1;

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Probablement que les conditions de jointures ne sont pas bonnes. Ajoutez des informations sur vos tables, clé primaire, clé étrangère, indexes, volumétrie des tables, volumétrie du résultat.

  3. #3
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Ajoutez des informations sur vos tables, clé primaire, clé étrangère, indexes, volumétrie des tables, volumétrie du résultat.
    Fournissez également le plan d'exécution.

  4. #4
    Membre à l'essai
    Homme Profil pro
    chef de projet
    Inscrit en
    Octobre 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2011
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Jointure entre trois tables via SQL Developer
    Bonjour,

    J'ai fais le plan d’exécution, mais étant donné que j'avais changé les noms des tables et des colonnes dans mon post(CAR S'AGISSANT DE DONNÉES EXTRÊMEMENT CONFIDENTIELLES), le résultat serait illisible.

    table fly:
    clé primaire: f.fly_PK_IDindex:
    fl_ENVOI, fl_HONUM, fl_ENRNUM, MAI_POOL_ID

    table travel: je m'excuse mais c'est plutôt une vue
    clé primaire:
    tr_MANUMDOS
    clé etrangere:
    emp_NUMDOS
    index:
    tr_NUM

    table employee
    clé primaire:
    emp_NUMDOS
    clé etrangere:
    tr_MANUMDOS
    index:
    emp_NUMDOS

    j’espère qu'avec ces quelques infos en plus, vous pourrez me donner un bout de piste.

    Merci d'avance.

    Cordialement.

  5. #5
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Malheureusement non.

    jko
    OCM 11g, RAC and Performance & Tuning Expert 11g
    RMAN Backup & Recovery, Data Guard and Grid Control

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/09/2013, 10h07
  2. Jointure entre trois tables
    Par bili31 dans le forum Langage SQL
    Réponses: 13
    Dernier message: 26/01/2012, 20h09
  3. Jointures entre trois tables
    Par eat your potato dans le forum SQL
    Réponses: 4
    Dernier message: 30/05/2011, 10h52
  4. [SQL Server 8] Discussion : Full Jointure sur trois tables
    Par Baquardie dans le forum Langage SQL
    Réponses: 5
    Dernier message: 22/12/2006, 14h01
  5. [SQL Server] Jointure entre 2 tables et performances
    Par rmeuser dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/04/2006, 10h12

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