From: | Pierre Didelon <pdidelon(at)cea(dot)fr> |
---|---|
To: | andy petrella <andy(dot)petrella(at)gmail(dot)com> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: type de donnée et b |
Date: | 2005-10-12 07:44:38 |
Message-ID: | 434CBEE6.70009@cea.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Merci Andy pour ta réponse...
andy petrella wrote:
> Je n'ai pas vraiment regardé mais les types variables sont surement des
> pointeurs donc la répercusion physique est implicite.
Pour ce qui est des types charactères sans doute...
Mais pour tous les autres types double, int, smallint, date, time...
est ce q'un réalignement mémoire est fait dans certains cas?
> Par contre, je ne
> vois pas comment un padding pourrait être créer alors qu'un padding fait
> référence à une taille max... evidemment on l'a spécifiée dans le type
> varying mais si c'était effectivement le cas, pourquoi introduire
> varchar(#) et non pas laisser char(#) ; et qu'en serait-t-il des var
> "text" ? Un moyen de t'en convaincre serait par exemple (si ta bd est
> non vide) de regarder tes stats /mémoire.
>
C'est effectivement une voie à explorer; voir ce qu'un ajout implique
pour la taille sur disque... mais c'est pas toujours absolument fiable
pour se faire une idée, ça depend du mode d'allocation d'espace disque,
s'il se fait par incrémentation de taille "fixe", suivant cette taille,
l'augmentation "visible" peut être plus importante que l'espace disque
réellement occupé :-(
Faudrait une documentation sur les méchanismes internes de postgres ;-)
Peut être dans la doc dévellopeurs?
A suivre...
PiR
>
>
>
> Le 11/10/05, Pierre Didelon <pdidelon(at)cea(dot)(dot)fr <mailto:pdidelon(at)cea(dot)fr>>
> a écrit :
>
> Bonjour,
>
> j'aimerais savoir si lors de la déclaration des tables l'ordre des
> types de données
> en fonction de leur longueur a une importance sur la taille stockée
> sur disque.
> Ou autrement dit est ce qu'un bourrage (? padding) est fait par le
> serveur
> entre deux types de données... (de taille croissante?) si l'adresse
> mémoire
> n'est pas valide pour ce deuxième type de données? Vaut il mieux
> déclarer les données
> par taille décroissante de type, comment sont gérés les varchar...
> Les données sont stockées par ligne... avec le/les padding répétés...
> Bref comment postgres stocke les données sur disque?
> J'ai cherché un peu (trop brièvement?) dans la doc et j'ai rien trouvé.
>
> QQ indications et conseils?
> Merci d'avance
>
> --
> Pierre
>
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume BARTHE | 2005-10-12 08:36:21 | Appel de fonction dans une fonction |
Previous Message | Pierre Didelon | 2005-10-11 09:54:12 | type de donnée et bourrage |