----- Original Message ----- From: "Alvaro Herrera" <[EMAIL PROTECTED]>
To: "Raul Andres Duque" <[EMAIL PROTECTED]>
Cc: "lista de postgres" <[email protected]>
Sent: Monday, September 29, 2008 10:46 AM
Subject: Re: [pgsql-es-ayuda] Cuanto ocupa un NULL ??


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.


Que bien ... ya me estaba asustando !!!!

Atentamente,

RAUL DUQUE
Bogotá, Colombia

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

--
TIP 1: para suscribirte y desuscribirte, visita 
http://archives.postgresql.org/pgsql-es-ayuda

Responder a