From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | Julio Rivero <jcrmlima(at)gmail(dot)com> |
Cc: | mmiranda(at)americatel(dot)com(dot)sv, systemguards(at)gmail(dot)com, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: numeric vs real |
Date: | 2005-04-27 23:59:08 |
Message-ID: | 20050427235908.GA969@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Wed, Apr 27, 2005 at 06:04:29PM -0500, Julio Rivero wrote:
Hola,
> Hola, la lentitud es considerable al utilizar este tipo de variable
> Numeric???
La verdad, no lo se; tendrias que medirlo. Supongo que depende de la
operacion y el tamaño del numeric.
En todo caso, como ya comente antes, los tipos integer, bigint, float,
etc, son mapeados a registros de la arquitectura; el procesador puede
operar con ellos en forma nativa. Por lo tanto lo que las operaciones
tardan se mide en ciclos de procesador.
NUMERIC usa una representacion en base 10000, lo que significa que caben
unos cuantos digitos de base 10 por cada "digito numeric", y para operar
hay que iterar en cada digito numeric. Por lo tanto para hacer una
operacion se necesita hacer multiples accesos a memoria, cada uno de los
cuales es ordenes de magnitud mas lento que unos pocos ciclos de
procesador. Por lo mismo, yo esperaria que las operaciones sean
significativamente mas lentas.
Supongo que esta claro que si no necesitas realmente usar NUMERIC, es
mejor que te quedes con uno de los tipos primarios; pero cuando si lo
necesitas, realmente no tienes alternativa.
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"Si un desconocido se acerca y te regala un CD de Ubuntu ...
Eso es ... Eau de Tux"
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2005-04-28 03:25:52 | Re: Ayuda con Check |
Previous Message | mmiranda | 2005-04-27 23:30:49 | RE: numeric vs real |