From: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Andres Freund <andres(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Mike Blackwell <mike(dot)blackwell(at)rrd(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Geoghegan <pg(at)heroku(dot)com>, Claudio Freire <klaussfreire(at)gmail(dot)com> |
Subject: | Re: Performance Improvement by reducing WAL for Update Operation |
Date: | 2014-03-03 14:27:05 |
Message-ID: | 53149139.4010306@vmware.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 02/16/2014 01:51 PM, Amit Kapila wrote:
> On Wed, Feb 5, 2014 at 5:29 PM, Heikki Linnakangas
> <hlinnakangas(at)vmware(dot)com> wrote:
>> >I'm pretty sure the overhead of that would be negligible, so we could always
>> >enable it. There are certainly a lot of scenarios where prefix/suffix
>> >detection alone wouldn't help, but so what.
>> >
>> >Attached is a quick patch for that, if you want to test it.
> I have updated the patch to correct few problems, addressed review comments
> by Andres and done some optimizations to improve CPU overhead for worst
> case.
Thanks. I have to agree with Robert though that using the pglz encoding
when we're just checking for a common prefix/suffix is a pretty crappy
way of going about it [1].
As the patch stands, it includes the NULL bitmap when checking for a
common prefix. That's probably not a good idea, because it defeats the
prefix detection in a the common case that you update a field from NULL
to not-NULL or vice versa.
Attached is a rewritten version, which does the prefix/suffix tests
directly in heapam.c, and adds the prefix/suffix lengths directly as
fields in the WAL record. If you could take one more look at this
version, to check if I've missed anything.
This ought to be tested with the new logical decoding stuff as it
modified the WAL update record format which the logical decoding stuff
also relies, but I don't know anything about that.
- Heikki
Attachment | Content-Type | Size |
---|---|---|
wal-update-prefix-suffix-5.patch | text/x-diff | 21.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2014-03-03 14:57:58 | Re: Performance Improvement by reducing WAL for Update Operation |
Previous Message | Kohei KaiGai | 2014-03-03 14:10:30 | Re: Triggers on foreign tables |