PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 01/07/2014 11:02:29

jeanphi45
Membre

Sujet de débat : comparatif entre numeric et numeric(p,s)

Bonjour,

Je suis en 9.1 côté serveur. et je cherche à comparer les 2 types numeric et numeric(p,s)

Ce que j'ai déjà pu remarquer :

inconvénient du numeric(p,s) :
Si je mets une colonne en type numeric(3,1) par exemple, alors le système affiche systématiquement le chiffre après la virgule :
si je saisis 5 il va afficher 5.0 , ce qui pour moi n'est pas très beau, mais aussi ne veut pas dire la même chose
(on aurait mesuré avec une précision de 1)

autre inconvénient du numeric(p,s) :
j'ai une table matable avec un champ monchamp en numeric , dont les valeurs vont de -99.9 à 99.9 avec au max 1 chiffre après la virgule.
Pour ce champ je voudrais trouver un mode de stockage plus économique en place disque.
Et bien en faisant :
SELECT DISTINCT pg_column_size(monchamp) , pg_column_size(monchamp::numeric(3,1)) FROM matable ;
la 2ème colonne de la requête est toujours plus élevée que la 1ère.
Du coup je ne vois pas comment gagner de la place de stockage pour mon champ

Dernière modification par jeanphi45 (01/07/2014 11:04:30)

Hors ligne

#2 02/07/2014 10:38:07

jeanphi45
Membre

Re : Sujet de débat : comparatif entre numeric et numeric(p,s)

J'avais écrit que  pg_column_size(monchamp) <=  pg_column_size(monchamp::numeric(3,1)).
Mais ...
Si je crée une nouvelle table avec un champ numeric(3,1) et que je copie le champ numeric de la première table dans la deuxième ,  en le castant en numeric(3,1) , alors  pg_column_size du champ numeric(3,1) a la même valeur que  pg_column_size du champ numeric.

Donc si on prend la fonction pg_column_size comme référence , on peut dire que numeric et numeric(3,1) occupent la même taille disque.

PS :
pour les 2 tables j'ai ensuite fait un vaccum + analyse + full et j'ai les mêmes résultats pour la fonction pg_column_size

Dernière modification par jeanphi45 (02/07/2014 10:54:20)

Hors ligne

Pied de page des forums