hstore binary representation of keys

From: Tim Kane <tim(dot)kane(at)gmail(dot)com>
To: pgsql-general General <pgsql-general(at)postgresql(dot)org>
Subject: hstore binary representation of keys
Date: 2014-04-22 12:01:38
Message-ID: CF7C18B2.6D926%tim.kane@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all,

I’ve been using hstore to record various key/val pairs, but I’ve noticed it
consumes a lot more disk than I would have expected.
I don’t have any hard figures to illustrate, but empirical testing has shown
that if I record these pairs as traditional column based fields, I can save
a significant amount of disk.

What I think I’m seeing here, is that the hstore representation needs to
store the entirety of the key alongside each value.

Let’s say I have a table of 1000 records, and 900 of them have a key named
‘A_REALLY_REALLY_REALLY_LONG_KEY’, then this key will be written do disk 900
times, along with the appropriate values.

I guess there are two options open to me here.

1. I could transpose these values into a dedicated field
2. I could use shorter key names

Does hstore2 go any way to improving this situation? Some kind of enumerated
key based system?

Cheers,

TIm

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Torsten Förtsch 2014-04-22 12:10:19 Is this a planner bug?
Previous Message Nicklas Avén 2014-04-22 11:45:51 How to ignore blank lines with file_fdw