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

Administration MySQL Discussion :

Un champ reference ou une table de jointure ?


Sujet :

Administration MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 112
    Points : 64
    Points
    64
    Par défaut Un champ reference ou une table de jointure ?
    Bonjour,

    J'ai besoin d'un conseil pour trouver le meilleur rapport poids de la base/rapidité des requêtes.

    Voilà, j'ai deux tables "t_a" et "t_b" avec un rapport t_a[0-1] <--> [0-n]t_b :
    • Certains enregistrements de t_b doivent être liés à un enregistrement de t_a
    • Chaque enregistrement de t_a est lié à un ou plusieurs enregistrements de t_b


    Je ne peux pas connaitre à l'avance la proportion exacte d'enregistrements qui vont être liés, mais cela devrait aller du quart au tiers des enregistrements.

    Je me demande donc s'il est préférable :
    1. De rajouter un champ dans t_b référençant t_a est qui serait à NULL s'il n'y avait pas de lien (mais qui risquerait alors de prendre un peu de poid)
    2. ou de créer une table de jointure t_c qui référencerait t_a et t_b (mais dont les requêtes seraient légèrement ralenties à cause du LEFT JOIN nécessaire)


    Quel est le choix le plus judicieux selon vous ?
    Merci par avance !!

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour,

    Le mieux serait encore de faire des tests avec des données proches de la réalité (en volumétrie et en répartition), mais j'opterai plutôt pour la deuxième solution. Surtout que d'après ce que vous dites, avec la première solution, votre colonne dans t_b référençant t_a sera a NULL dans au moins 2/3 des cas...

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2006, 21h36
  2. Réponses: 7
    Dernier message: 27/04/2006, 10h21
  3. Créer un champ calculé dans une table
    Par tigevellou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/04/2006, 15h08
  4. Affectation sur un champ vide d'une table Access
    Par kurkaine dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/11/2005, 09h14
  5. Tous les champs SAUF dans une table.
    Par Yepazix dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/08/2005, 16h01

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