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