Re: [HACKERS] space usage of NULL fields - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] space usage of NULL fields
Date
Msg-id 199812271600.LAA08487@candle.pha.pa.us
Whole thread Raw
In response to space usage of NULL fields  (Jan Vicherek <honza@ied.com>)
List pgsql-hackers
> 
>   Hello,
> 
>     a quick question (I couldn't contact postgresql.org, so I didn't check
> the FAQ, but I doubt it would be there.)
> 
>    When I create a table with field "nnn float8" and total row size, say
> 140 bytes, and then I insert a row with NULL in this field, will my record
> take up those 8 bytes in physical page (say 140 bytes) or will it take up
> less (like 140-8=132), i.e. will it be shortened by those 8 bytes, since
> the value is NULL and no information is stored in that field ? ( I *hate*
> run-on sentences :)

Shorter.  Nulls are not stored in the row.  There is a bitmask on every
row that shows the number of NULL fields.

> 
>    In general, what are the savings/overheads associated in PG with
> NULL/not NULL fields ? I.e. if will I save the space if I define the field
> as varchar(8) instead of float8  ?

no. float8 is shorter because varchar has 4-byte overhead.  The faq is
in docs/FAQ too.


--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Angelos Karageorgiou
Date:
Subject: pg_hba.conf
Next
From: Terry Mackintosh
Date:
Subject: regression test: triggers fial: