>On Thu, Aug 4, 2016 at 06:21:48PM -0400, Bruce Momjian wrote: > Another approach would be to keep updates on the same page in a single > WARM chain, even if all indexes have changed columns. We will already > have code to walk the HOT chain looking for matches, and at most one > tuple in the update chain is visible. The downside of this is > unnecessary checking if the tuple matches the index.
Forget this idea I had. If all the indexed keys change, we don't save anything in fewer index tuples, and we extend the length of the HOT chain because we always have to point to the root of the HOT chain in the index. The only advantage would be allowing reuse of the old index tuple if the indexed value changes back to and old indexed value in the same chain, which seems rare. Let me say I am excited at the progress that has been made on this item in the past 36 hours and I think we are triangulating on a solution. I know we are restricted by the existing page format and pg_upgrade in adding this features, but frankly that limitation seems minor --- even if designing a new storage system, figuring out how to do WARM chains efficiently would be hard. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers