MySQL - Table avec environ 60 colonnes

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par wormseric, 13 Décembre 2012.

  1. wormseric
    wormseric Nouveau WRInaute
    Inscrit:
    30 Janvier 2008
    Messages:
    30
    J'aime reçus:
    0
    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

    ++
     
  2. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    701
    J'aime reçus:
    0
    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.
     
  3. kain34
    kain34 WRInaute discret
    Inscrit:
    2 Octobre 2012
    Messages:
    72
    J'aime reçus:
    0
    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!!
     
  4. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 024
    J'aime reçus:
    1
    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 ...
     
  5. kain34
    kain34 WRInaute discret
    Inscrit:
    2 Octobre 2012
    Messages:
    72
    J'aime reçus:
    0
    En espérant aussi que tu t'y connaisse un minimum en optimisation MySQL ( jointures/clés primaires/ index)
     
  6. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 581
    J'aime reçus:
    3
    J'ai une table de ce gabarit (env 40 col * 20 000 lignes) et ça marche sans souci sur un mutu de base.
     
  7. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    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.
     
Chargement...
Similar Threads - MySQL Table colonnes Forum Date
Supprimer les doublons d'une table mysql Développement d'un site Web ou d'une appli mobile 16 Juin 2020
message : [LEGACY][libmysqlclient] Please consider moving to stable and mysqlnd in Administration d'un site Web 8 Novembre 2018
Fusionner deux champs sur la même table et même base de donnée Mysql Administration d'un site Web 12 Septembre 2018
PHP -Problème retraitement données Mysql avant envoit dans un tableau array Développement d'un site Web ou d'une appli mobile 28 Décembre 2016
Tableau PHP a partir de MySQL Développement d'un site Web ou d'une appli mobile 5 Décembre 2015
Pour MySQL : myisam_use_mmap = 1 souhaitable ? Développement d'un site Web ou d'une appli mobile 3 Juin 2015
Utiliser des INT ou des VARCHAR pour les relations entre les tables MySQL ? Développement d'un site Web ou d'une appli mobile 9 Avril 2015
SUM de 2 champs identiques dans deux tables mysql différentes Administration d'un site Web 9 Octobre 2014
Modification d'un ligne d'une table MySQL Développement d'un site Web ou d'une appli mobile 10 Mai 2014
[MySQL] Requête SELECT et INSERT entre 3 tables liées+Aide Développement d'un site Web ou d'une appli mobile 30 Avril 2014
[MYSQL] Comment remplacer caractères dans tous les champs de toutes les tables d'une base? Développement d'un site Web ou d'une appli mobile 11 Juillet 2013
Optimisation recherche sur grosse table mysql Développement d'un site Web ou d'une appli mobile 30 Mars 2013
Mysql - un Group by non trié sur plusieurs tables ... Développement d'un site Web ou d'une appli mobile 13 Mars 2013
effacer sujet dans une table mysql Développement d'un site Web ou d'une appli mobile 7 Janvier 2013
remplir un base MySQL automatiquement à partir d'excel et dans différentes tables Développement d'un site Web ou d'une appli mobile 23 Septembre 2011
[MySQL] Requête SELECT entre 3 tables liées Développement d'un site Web ou d'une appli mobile 10 Août 2011
Tirage aléatoire dans une table MySQL (solutions et questions) Développement d'un site Web ou d'une appli mobile 21 Juillet 2011
Mysql : select sur plusieurs tables? Développement d'un site Web ou d'une appli mobile 20 Juillet 2011
Tables MySQL corrompues Administration d'un site Web 29 Mai 2011
MYSQL - recherche par tableau ? ca existe Développement d'un site Web ou d'une appli mobile 11 Mai 2011