Re:

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re:
Дата
Msg-id 200207041923.g64JNaT00892@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re:  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re:  (Francisco J Reyes <fran@natserv.net>)
Список pgsql-general
Tom Lane wrote:
> Francisco Reyes <lists@natserv.com> writes:
> > How much space does "NULL" takes on a varchar.
>
> This is getting to be a FAQ itself --- Bruce, would you like to
> add something along the following lines to the FAQ?
>
> Q.  How much space does a NULL take?
>
> A.  None; it's not stored.  However, if a table row contains any NULLs
> then it must include a "nulls bitmap" that shows which columns are NULL.
> The bitmap has one bit per table column.  The bitmap is omitted if the
> row contains no NULLs at all.  So, in practice the first NULL you put in
> a row costs number-of-columns bits.  Any additional NULLs in the same
> row are completely free as far as storage space is concerned.
>
> Also, the space effectively occupied by the bitmap depends on alignment
> considerations, because the total size of the row header and bitmap
> will be rounded up to a MAXALIGN boundary (either 4 or 8 bytes on
> most hardware).  In 7.3 it's likely that a bitmap for a row of up to
> 8 columns will be completely free, because the rounded-up header size
> will be the same with or without it.

I added this to the disk space FAQ item. Let's see how that works:

    <P><SMALL>NULL</SMALL>s are stored in bitmaps, so they
    use very little space.</P>

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



В списке pgsql-general по дате отправления:

Предыдущее
От: Manfred Koizar
Дата:
Сообщение: Re:
Следующее
От: Curt Sampson
Дата:
Сообщение: Re: EVAL and SET equivalents in PostgreSQL