Search Postgresql Archives

double precision[] storage space questions

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

 



Hi all

I cannot find any documentation on the space taken by a double precision
array. And the few tests I did surprise me.

Here are a few tries I did to understand 
select pg_column_size(1.1::double precision)              return 8    --- as
expected
select pg_column_size('{}'::double precision[])           return 16  --- ok
maybe an array header
select pg_column_size('{1.111}'::double precision[])   return 32  --- I
expected 16+ sizeof(double) = 24 

select pg_column_size('{1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0}'::double
precision[])  return 104 --- I'am lost because I expected 10*16 + 16 = 176.
It is neither 16+10*8 (96)

So what is happening behind the scene, I did not found any documentation.
Since the queries are done in memory I suppose no compression is going on.
Furthermore select
pg_column_size('{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0}'::double
precision[]) return 104 as well. So I discard compression. 

The whole point is that in the application I work on, we store double arrays
as bytea (using some serialization before storing the data). 
I was very surprised to see that the storage of an array of double take more
space using double precision[] than serializing it and storing it into a
bytea.

Thanks for any help and docs



--
View this message in context: http://postgresql.nabble.com/double-precision-storage-space-questions-tp5853581.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


-- 
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