MySQL - Table avec environ 60 colonnes

Nouveau WRInaute
Bonjour,

J'ai une table avec une soixantaine de colonne. En gros ma table sert à stocker toutes les annonces immobilières, les colonnes correspondent aux détail de l'annonce. C'est à dire on trouve comme type de colonne : la proximité (transport, ecole, boulangerie, ....) ou par exemple l’équipement du logement (cable, internet, ascenseur, ...)

Ma question, est ce que le fait d'avoir une table avec autant de colonne, peux poser des problèmes de performance lorsque j’interrogerai la table? Ou vaut il mieux restreindre le nombre de colonne et les mettre dans des sous tables.

Merci

++
 
WRInaute impliqué
La vrai question est : ta base de données est-elle bien conçue ?
Si nous prenons tes deux exemples, ça saute presque qu'aux yeux que tu devrais avoir une table "Proximite" et "Equipement" avec deux tables d'association liant ces tables aux biens immobiliers.
Ainsi, tu enlèves autant de colonne que de proximité et d'équipement qui deviennent des données des nouvelles tables.

Ta gestion devient beaucoup plus simple. Par exemple, si demain tu as un nouvel équipement à ajouter, tu n'auras qu'à ajouter la nouvelle données dans "Equipement". Ton application l'affichera automatiquement dans tes formulaires (etc.) grâce aux boucles.
Ta structure actuelle nécessiterait une modification de la structure de table, ce qui n'est pas recommandée comme fonctionnement.

Alors, même si au niveau des performances il peut ne pas y avoir d'importance (je ne sais pas vraiment, mais ça doit jouer un minimum), à long terme ce sera un enfer à gérer.
Sans oublier que plus tu ajoutes de colonne plus le poids de la table devient important, et ce même si les valeurs sont vides.
 
WRInaute discret
Bonne reponse de Blount,

Une table de 60 colonnes n'est pas du tout choquant , si elles sont optimisés et surtout que tu y passe les bonnes requêtes cela ne devrait pas influer sur ton temps de chargement!!
 
WRInaute accro
wormseric a dit:
Ma question, est ce que le fait d'avoir une table avec autant de colonne, peux poser des problèmes de performance lorsque j’interrogerai la table? Ou vaut il mieux restreindre le nombre de colonne et les mettre dans des sous tables.
il y a du vrai dans les deux réponses ci dessus il faudrait savoir ce que sont les données dans chaque champ pour répondre avec précision (type et taille avec un exemple ou deux pour chaque champ).
Après tout dépend des requêtes que tu est amené à faire et sur quels champs portent les critères des requêtes ...
 
WRInaute accro
J'ai une table de ce gabarit (env 40 col * 20 000 lignes) et ça marche sans souci sur un mutu de base.
 
WRInaute accro
Non, une table avec 60 colonnes n'est pas en soi un problème. Mais comme le signale très justement Blount, c'est généralement le signe d'une base de données mal conçue. L'utilisation de plusieurs tables avec les jointures qui vont bien permettra généralement d'avoir une base mieux organisée, plus facile à étendre, et souvent d'obtenir de meilleures performances.

Jacques.
 
Discussions similaires
Haut