From: | Claudio Freire <klaussfreire(at)gmail(dot)com> |
---|---|
To: | Peter Geoghegan <pg(at)heroku(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-Dev <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)anarazel(dot)de> |
Subject: | Re: [WIP] [B-Tree] Keep indexes sorted by heap physical location |
Date: | 2017-07-24 16:51:19 |
Message-ID: | CAGTBQpYbhNTFggiLxGbHPVEzMMjiHWp=svhUe1xpkVdBfJbxHQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Nov 23, 2016 at 12:27 AM, Peter Geoghegan <pg(at)heroku(dot)com> wrote:
> On Mon, Nov 21, 2016 at 5:15 PM, Claudio Freire <klaussfreire(at)gmail(dot)com> wrote:
>>> There are a couple
>>> of tricky issues with that that you'd have to look out for, like
>>> making sure that the high key continues to hold a real TID, which at a
>>> glance looks like something that just happens already. I'm not sure
>>> that we preserve the item pointer TID in all cases, since the current
>>> assumption is that a high key's TID is just filler -- maybe we can
>>> lose that at some point.
>>
>> I thought long about that, and inner pages don't need a real TID in
>> their keys, as those keys only specify key space cutoff points and not
>> real tids, and high tids in leaf pages are always real.
>
> Not if there are duplicates in the inner pages. Then, you have to add
> in the TID, and separate the key space, to guide insertions to the
> right leaf page directly (particularly for non-HOT UPDATEs). That's
> what I'm mostly interested in investigating, here.
My point was that the TID doesn't have to point to an actual tuple.
It's more of a keyspace thing, so it doesn't need to match real
tuples, it can just divide the keyspace with an arbitrary cutoff, and
should be cheapter to maintain without that requirement.
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2017-07-24 17:02:45 | Re: [WIP] [B-Tree] Keep indexes sorted by heap physical location |
Previous Message | Stephen Frost | 2017-07-24 16:45:14 | Re: pg_stop_backup(wait_for_archive := true) on standby server |