Re: Cuanto ocupa un NULL ??

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: lista de postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Cuanto ocupa un NULL ??
Date: 2008-09-29 15:46:31
Message-ID: 20080929154631.GB4193@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Raul Andres Duque escribió:
> Cordial Saludo.
>
> Tenía una duda a cerca de qué espacio ocupa un NULL en la DB. De
> inicio pensaría que si es un tipo de dato con un tamaño fijo, ocupa el
> mismo tamaño del tipo de dato. Si es un tipo de dato VARIANTE
> (varchar), el tañano debe ser XX caracteres dependiendo de la
> codificación.

No.

Cada tupla tiene una mascara de bits de atributos nulos. Si una tupla
no tiene ningun atributo nulo, el bitmask no se almacena. Si hay al
menos un nulo, se almacena.

Cada atributo nulo usa un bit de esa mascara. Si un atributo es nulo,
se pone ese bit en 1, y los "datos" simplemente no se guardan. Visto de
esa forma, un atributo nulo no usa ningun espacio (sin embargo se gasta
el espacio de guardar la mascara de nulos).

Si tienes un varchar(1000) que es nulo, el espacio desperdiciado es 0.

--
Alvaro Herrera Valdivia, Chile Geotag: -39,815 -73,257
"Hay quien adquiere la mala costumbre de ser infeliz" (M. A. Evans)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Raul Andres Duque 2008-09-29 16:24:49 Re: Cuanto ocupa un NULL ??
Previous Message Raul Andres Duque 2008-09-29 15:29:15 Re: Cuanto ocupa un NULL ??