Re: numeric vs real

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"

In response to

Browse pgsql-es-ayuda by date

  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