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 :

[JOINTURES] interêt dans certain cas


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut [JOINTURES] interêt dans certain cas
    Bonjour, je débute en SGBD et je me pose une question à propos des clé étrangères et de l'interêt de faire des jointures, un petit exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Table_A:
    id
    code
    nom
    dest
     
     
    Table_B:
    id
    Quantié
    Si l'on désire récuperer les infos(code,dest,quantité),on doit faire une jointure entre ces 2 tables.
    Bon Maintenant considérons ces même table mais avec des champs différents:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Table_A:
    id
    code
    nom
    dest
     
    Table_B:
    id
    code
    dest
    quantité
    Faisons un SELECT de code,dest,quantité.
    Dans le premier cas, à l'aide d'une jointure et dans le second cas, sans jointure vu que tout les champs demandés sont dans la Table_B du second exemple.
    Quel sera la réponse la plus rapide,celle dans l'exemple 1 ou celle dans l'exemple 2?
    Voilà comme je vous l'ai dit,je débute, je pense que le second exemple sera plus rapide pour les SELECT mais que les INSERT,UPDATE seront plus rapide dans le 1er cas car il y a moins de champs, mais bon...une jointure ne sert-elle qu'a diminuerle temps de réponse des INSERT et UPDATE?
    Voilà merci d'avance
    Pourquoi ca marche jamais?Vive le café!

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    la seconde (sans jointure) sera plus rapide... cependant, ça pose un problème d'intégrité référentiel et taille de base de données parce que des données sont dupliquer (ce qu'il faut toujours éviter au maximum)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    En fait je pose cette question c'est parceque ma BD va être plûtot grande mais les INSERT et UPDATE se feront une par une et pas en grande quantité alors que les SELCET se feront fréquement et sur de grande quantité.
    Donc dans mon cas,mieux vaut dupliquer les données afin de permettre une réponse plus rapides des Séléction ou bien utiliser les jointures?
    Pourquoi ca marche jamais?Vive le café!

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    S'il s'agit d'une duplication de données pure (comme tu le présente), laisse tomber la dupplication et fait une jointure, si les jointures sont bien utilisées, ça ne ralentira jamais suffisament ta BDD pour contrebalancer la sécurité et la taille gagnée

    S''il s'agit de données syntétisées demandant des opérations plus complexes (somme, max, etc... sur un très grand nombre de données) alors il peut-être bien de faire une espèce de mise en cache si c'est véritablement un goulot d'étranglement dans ton application
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Membre averti Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Points : 409
    Points
    409
    Par défaut
    Ok trés bien je te remercie pour les réponses je vais faire de belles jointures alors
    Pourquoi ca marche jamais?Vive le café!

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

Discussions similaires

  1. Pb de son dans certains cas
    Par loki dans le forum Matériel
    Réponses: 1
    Dernier message: 30/01/2007, 11h39
  2. Vous utilisez le goto dans certains cas ?
    Par b Oo dans le forum C++
    Réponses: 23
    Dernier message: 21/10/2006, 17h08
  3. Empecher la validation dans certains cas ?
    Par elitost dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/09/2006, 13h03
  4. Passer la validation Javascript dans certains cas
    Par tkino dans le forum Struts 1
    Réponses: 2
    Dernier message: 31/07/2006, 15h37
  5. [POO] Modèle objet: this inutilisable dans certains cas?
    Par vlord dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 13/08/2005, 10h41

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