Bonjour (et desole pour le titre pourri),
Je dois refaire la structure d'une base de donnees pour un site a fort trafic dont la priorite est d'optimiser les performances.
Le but est de gerer des records qui ont tous des champs communs et apres, selon la famille du record, des champs specialises.
Ma premiere idee fut donc de creer une table contenant tous les elements communs a chaque row et ensuite creer une table pour chacune des 6 familles avec les champs adequates.
Les pages de parcours ne necessitent ainsi que des select sur la table commune. La page qui affiche le contenu d'un record doit : soit faire un select sur la table commune et un autre sur la table ou sont les champs specialises, soit faire un select sur les 2 tables avec une jointure.
Et les recherches imposent une lourde requete avec une jointure.
L'architecte dit que, pour optimiser les performances, il vaut ne faire qu'une unique table (meme avec 200 colonnes) plutot que de faire 2 tables separees avec deux petits select.
Je trouve ca pas tres esthetique, ca impose l'utilisation de vues pour pouvoir browser la table... bref je vais faire des benchs (bien que le gain de performance est evident) et j'aimerai l'avis de gens car je sais qu'une enorme table c'est moins facilement maintenable.
Merci.
Hugues.