Search Postgresql Archives

Re: storage size of "bit" data type..

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Added to TODO:

* Reduce BIT data type overhead using short varlena headers

  http://archives.postgresql.org/pgsql-general/2007-12/msg00273.php


---------------------------------------------------------------------------

Decibel! wrote:
> On Dec 5, 2007, at 7:23 PM, Michael Glaesemann wrote:
> > On Dec 5, 2007, at 14:19 , Alex Mayrhofer wrote:
> >> i'm trying to find out the storage size for bit(n) data. My  
> >> initial assumption would be that for any 8 bits, one byte of  
> >> storage is required.
> >
> > select pg_column_size(B'1') as "1bit",
> >        pg_column_size(B'1111') as "4bits",
> >        pg_column_size(B'11111111') as "1byte",
> >        pg_column_size(B'111111111111') as "12bits",
> >        pg_column_size(B'1111111111111111') as "2bytes",
> >        pg_column_size(B'11111111111111111') as "17bits",
> >        pg_column_size(B'111111111111111111111111') as "3bytes";
> > 1bit | 4bits | 1byte | 12bits | 2bytes | 17bits | 3bytes
> > ------+-------+-------+--------+--------+--------+--------
> >     9 |     9 |     9 |     10 |     10 |     11 |     11
> > (1 row)
> >
> > Looks like there's 8 bytes of overhead as well, probably because a  
> > bit string is a varlena type.
> 
> Wow, that's screwed up... that's a lot more than varlena overhead:
> 
> select pg_column_size('a'::text), pg_column_size(1::numeric),  
> pg_column_size(3111234::numeric);
>   pg_column_size | pg_column_size | pg_column_size
> ----------------+----------------+----------------
>                5 |             10 |             12
> 
> Apparently it's something related to numeric.
> -- 
> Decibel!, aka Jim C. Nasby, Database Architect  decibel@xxxxxxxxxxx
> Give your computer some brain candy! www.distributed.net Team #1828
> 
> 

-- 
  Bruce Momjian  <bruce@xxxxxxxxxx>        http://momjian.us
  EnterpriseDB                             http://postgres.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux