Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3020 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  tables de liaison

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

tables de liaison

n°1705285
Tonio94
Posté le 20-03-2008 à 12:25:48  profilanswer
 

salut à tous,
 
 
Avec des collègues on se posait la question sur quelle serait la méthode la plus rapide/la moins lourde entre 2 cas. Je vous expose la situation :
 
1er cas : On a 3 tables, une table 'users' (id_user, fname, lname) et une table 'user_version' (id_user, id_version) qui serait une table de liaison vers une table 'version' (id_version, info, desc, etc).
 
2e cas : On met directement le id_version dans la table 'users' c'est à dire 'users' (id_user, fname, lname, id_version) et on supprime la table de liaison 'user_version'.
 
 
Sachant qu'il y aura un nombre très important de requêtes et qu'on aimerait pas trop taper souvent (ou même juste une fois par utilisateur) dans la table 'users', est-ce plus intéressant niveau performances d'avoir l'id_version dans la table 'users' ou d'avoir une table de liaison avec un index plus fort. Le fait de taper dans 2 tables mais d'avoir un index plus fort, est-ce que ça revient au même/plus rapide/plus lent ?
 
 
J'ai essayé d'être le plus clair possible :p Merci d'avance :)
 


---------------
~ Msi z270 Gaming Pro Carbon | i7 7700K @4.8Ghz + Dark Rock Pro4 | 16Go Corsair DDR4 2400 | RTX 2080 Ti | OS SSD 840 + Jeux Raid0 SSD 850 + 2*2To Seagate | Cooler Master Cosmos 1000 + Corsair CMPSU-620HX
mood
Publicité
Posté le 20-03-2008 à 12:25:48  profilanswer
 

n°1705375
skeye
Posté le 20-03-2008 à 14:38:01  profilanswer
 

Je suis pas sûr d'avoir suivi, là. Si tu n'as qu'une version par user, pourquoi une nouvelle table?


---------------
Can't buy what I want because it's free -
n°1705389
Tonio94
Posté le 20-03-2008 à 14:51:28  profilanswer
 

Pour éviter d'avoir 2 index dans la table 'users', on me dit que de faire une table de liaison ('user_version') avec un index sur l'id_version c'est plus "propre" et aussi bien niveau performances.
 
Et moi je dis que non puisque l'on doit faire un select (imbriqué) dans les 2 tables ('users' et 'user_version').
 
Ça a un intérêt pour moi d'avoir la réponse dans le sens où il y a aura des milliers de requêtes dans ces tables dans un laps de temps assez court.

n°1705395
skeye
Posté le 20-03-2008 à 14:56:35  profilanswer
 

Je vois pas en quoi c'est plus propre de créer une table qui ne sert à rien...[:pingouino]


---------------
Can't buy what I want because it's free -
n°1705744
MagicBuzz
Posté le 20-03-2008 à 22:53:40  profilanswer
 

100%++ avec skeye...
 
l'unique intérêt d'avoir une table de correspondance, c'est si plusieurs version_id se rattachent à un même user_id et vice-versa.
 
dans tous les cas, avoir cette troisème table sera plus lent que d'avoir seulement deux tables. donc elle n'est à créer que si elle est nécessaire...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  tables de liaison

 

Sujets relatifs
script fusionner plusieurs tables en 1 seuleRequete avec tables satellites - tout dans une seule ligne
Requete simultanee sur 2 tablesBesoin d aide sur des tables access
Lister le contenu de 2 tables mysql en groupant les doublonsEasyPHP gestion des relations entre tables
Schéma des tables Base Firebird[Phpbb] Pourquoi deux tables phpbb_posts et phpbb_posts_text
rétablir l'intégrité des tablesLiaison entre deux tables
Plus de sujets relatifs à : tables de liaison


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR