2 tables ou 1 seule à moitié vide ?

2 tables ou 1 seule à moitié vide ? - SQL/NoSQL - Programmation

Marsh Posté le 02-06-2011 à 21:35:48    

Bonjour à tous!
 
Question de débutant : Est-ce que dans une base MySQL, des champs vides peuvent impacter négativement les performances ?
 
Je vous explique plus amplement mon problème :
Sur mon site j'ai un flux d'actualités. Celui-ci affiche plusieurs types d'informations, informations que j'ai regroupé en 2 grands types : celles créées par les membres, et celles provenant de différents flux RSS de sites partenaires.
Seulement, la nature des infos fournies par ces 2 groupes est différente.
Dans le 1er, j'enregistre par exemple toujours l'id du membre à l'origine du contenu.
Dans le 2nd, c'est plutôt les infos propres aux flux RSS : url, titre, texte...
 
Alors je me demandais, sachant que le but de toutes ces infos étaient d'être TOUJOURS affiché dans UN SEUL flux, est-ce qu'il valait mieux tout mettre dans la même table et avoir beaucoup de champs vides mais ainsi ne faire qu'une seul requête ?  
Ou est-ce qu'il valait mieux faire 2 tables, et faire une jointure à chaque requête ?
 
Merci d'avance pour vos réponses.

Reply

Marsh Posté le 02-06-2011 à 21:35:48   

Reply

Marsh Posté le 03-06-2011 à 09:48:54    

Pour tout ce qui concerne l'optimisation, il faut tester.
 
Mais, a priori, au niveau de la vitesse, la différence ne devrait pas être très sensible entre les deux solutions.
 
Cependant, il est préférable de faire deux tables, car il est évidemment dommage d'avoir des champs vides.
La définition des tables dans une base de données relationnelle devrait se faire en suivant les règles de normalisation de Edgar Codd, voir http://fr.wikipedia.org/wiki/Forme [...] ionnelles) et http://fr.wikipedia.org/wiki/Edgar_Frank_Codd .

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed