[Pgsql-ayuda] MySQL => PGSQL

Alvaro Herrera Munoz alvherre@dcc.uchile.cl
Tue, 9 Sep 2003 19:51:42 -0400


On Tue, Sep 09, 2003 at 03:00:44PM -0500, Gunnar Wolf wrote:

> De hecho, aprovechando a ?lvaro: ?Recomendar?as el uso de numeric si no
> es para imponer un formato (por ejemplo, 5 d?gitos mas 2 decimales)? ?No
> es obvio que intx va a ser m?s eficiente en espacio de almacenamiento y
> velocidad?

No, si, no.

:-)

(ojo con NUMERIC, porque es util para almacenar numeros no enteros con los
cuales quieras tener operatoria "intuitiva", como por ej. que la suma
siga siendo conmutativa y otras cosas que damos por sentadas y que _no_ se
cumplen para numeros de punto flotante)

(la representacion de NUMERIC hasta 7.3 es un byte por digito, y la operatoria
se hace iterando byte por byte, de modo que es mucho mas lento que INTEGER
o un BIGINT que se pueden mapear a registros de la arquitectura, y se puede
operar con ellos con una sola operacion de hardware (suma = 1 ciclo de CPU)
-- idem los float, pero tienen el problema de redondeo...)

(en 7.4 Tom Lane mejoró mucho la representacion de NUMERIC, pero sigue siendo
mas lento que un tipo nativo de la arquitectura)

-- 
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"Coge la flor que hoy nace alegre, ufana. Quién sabe si nacera otra mañana?"