Plupart de champs vides dans une base de données

[Résolu]
Signaler
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
Bonjour,

on dit souvent qu'il faut éviter de créer une colonne dans une table lorsque l'on sait que la plupart des lignes auront ce champ vide. Est-ce que quelqu'un saurait pourquoi ?

Là en l'occurence j'ai 3 champs (2 VARCHAR et 1 TEXT) que 95% des entrées laisseront vides, mais ça m'ennuie aussi de créer une table juste pour eux. Si vous pouviez me donner votre avis sur la meilleure chose à faire...

Merci !

2 réponses

Messages postés
681
Date d'inscription
samedi 26 février 2005
Statut
Membre
Dernière intervention
21 août 2014
8
Bonjour,

je pense que de nos jours la différence se fait minimale, c'est vrai que si tu fais une requête non ciblée sur la table tu te retrouveras avec 95% de vide sur trois entrée dans l'array qui en résultera, ce qui peut, éventuellement rallentire (un tout petit peux comme dit) une  boucle s'il y a vraiment beucoups d'entrées et beaucoups de vérifiaction.... la seule différence que ça fait en pratique c'est que ça augmente (aussi que très légèrement) la consommation de mémoire....

Mais bon honnêtement, tant que tu ne te retrouvé pas à effectuer des centaines de fois cette même opération en quelques secondes, les différences de performances ne justifient pas le travails qui est nécéssaire à proprement séparer (puis re-relier) les données pour ces trois champs....

Bref, à mon avis - de nos jours - un travail superflux, sans dans quelques rares cas....
J'éspère que ça réponds à ta question

Bonne journée!

<hr size="2" width="100%" />Developpement Web Yannic GraphiX | Mon CMS yArt et sa démo
<hr size="2" width="10" />
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Ca répond bien oui merci beaucoup !
Effectivement dans ce cas une ligne en mémoire prend plus de ressources, c'est vrai... Je n'ai pas le temps de tester mais ça ne m'étonnerait pas que ça en consomme quand même moins qu'une jointure gauche ou pire, qu'une deuxième requête...
Et étant donné que j'ai un moteur de cache par fichiers de toute façon, non je n'aurai pas à faire cent fois la même requête en une seconde.
Merci encore !