Re: Cuanto ocupa un NULL ??

From: "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx>
To: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: "lista de postgres" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Cuanto ocupa un NULL ??
Date: 2008-09-29 16:24:49
Message-ID: 00bf01c9224f$e53a3e10$4100a8c0@amadeus.net.co
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


----- Original Message -----
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>
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)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message el-PRiNCiPiTo 2008-09-29 16:25:28 Re: Tipo de dato para almacenar moneda
Previous Message Alvaro Herrera 2008-09-29 15:46:31 Re: Cuanto ocupa un NULL ??