IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PostgreSQL Discussion :

Conception d'une base : une grosse table ou plusieurs petites?


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 57
    Points : 41
    Points
    41
    Par défaut Conception d'une base : une grosse table ou plusieurs petites?
    Bonjour
    Après avoir lu l'article :*http://blog.developpez.com/sqlpro/p1...ances-petites/

    Je me pose la question : est-il plus utile d'avoir une table d'une 60 aines de champs.
    Ou de la scinder en deux tables de 40 et 20*champs?
    Une fois les tables créées et les insertions faites, la première partie ne devrait subir presque que des recherches. Alors que la deuxième (l'éventuelle table de 20 champs) sera amenée à être souvent modifiée.
    Les recherches porteront simultanément sur les deux tables.

    Sachant que la base devrait contenir entre 500 et 3000 tuples.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Si je devais te donner un conseil, cela serait de relire et de comprendre l'article que tu mets en référence.

    Le nombres de champs que tu mets dans les tables n'ont pas une grande importance, c'est la façon dont tu modélises les tables et la façon dont tu normalises les données.

    Il faut au minimum aller jusqu'à la troisième forme normale (personnellement et ce n'est que mon avis, c'est souvent suffisant).

    A partir de là tu verras si il te faut une,deux,trois ou plus de tables.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Une chose à savoir sur postgres est que quand une ligne subit un UPDATE, en principe toute la ligne est physiquement copiée vers un nouvel emplacement. Plus tard l'emplacement de l'ancienne version de la ligne est récupéré par un processus dénommé vacuum qui s'exécute plus ou moins en tâche de fond. Cette manière de faire sert à permettre les visibilités différentes de chaque transaction sur les données.

    Pour cette raison là, scinder une table en deux en séparant les colonnes fréquemment mises à jour des colonnes jamais mises à jour est en effet une optimisation. Ça va faire moins de travail au moment de l'update, moins de fragmentation dans les données, moins de travail pour vacuum.

    Mais encore faut-il que les volumes et/ou la fréquence de mise à jour le justifient. Si on parle de quelques updates/jour répartis sur 3000 lignes, en pratique cette optimisation sera inutile. En revanche si c'est quelques centaines de milliers d'update par jour ou plus, là ça a des chances d'être utile.

Discussions similaires

  1. Grosse table ou plusieur petites ?
    Par casa51 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 24/09/2009, 23h08
  2. une grosse table ou plusieurs petite tables ?
    Par troumad dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 16/12/2007, 15h08
  3. Réponses: 5
    Dernier message: 24/03/2007, 16h00
  4. Réponses: 7
    Dernier message: 15/02/2006, 12h52
  5. [Conception] Code php dans une base de donnée
    Par krfa1 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/09/2005, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo