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)
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 ?? |