Thread: [HACKERS] COMPRESS VALUES feature request
Hi,
Following a discussion in the IRC channel, I'd like to suggest a feature request to the ToDo WIKI page.
The use case is having a column with strings/floats, where some values are very common and can be compressed, while many other values are unique, making a lookup table not efficient.
It can be part of a column definition, set in CREATE TABLE/ALTER TABLE
e.g. field VARCHAR(255) COMPRESS (NULL, 'EREZ', 'SEGAL')
The feature exists in TeraData:
https://community.teradata.com/t5/Database/how-does-compress-work-in-tables/td-p/13950
https://community.teradata.com/t5/Database/how-does-compress-work-in-tables/td-p/13950
In the IRC channel - johto suggested an implementation:
<johto> if you want to get really fancy you could have two columns where only one of set; one would be the value (if reasonably unique) and the other the id (if not)
<johto> if you want to get really fancy you could have two columns where only one of set; one would be the value (if reasonably unique) and the other the id (if not)
I'd like to add that an ENUM can be used instead of the id+lookup table in the 2nd column for non unique values.
On Tue, May 9, 2017 at 8:18 PM, Erez Segal <erezsegal@gmail.com> wrote:
In the IRC channel - johto suggested an implementation:
<johto> if you want to get really fancy you could have two columns where only one of set; one would be the value (if reasonably unique) and the other the id (if not)
I only suggested how to do this in an application if one really wants the feature so badly. I don't think this would fly as a native implementation.
I'd like to add that an ENUM can be used instead of the id+lookup table in the 2nd column for non unique values.
An ENUM in postgres *is* an id + lookup table..
.m