Re: Deleting older versions in unique indexes to avoid page splits

From: Victor Yegorov <vyegorov(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Peter Geoghegan <pg(at)bowt(dot)ie>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Deleting older versions in unique indexes to avoid page splits
Date: 2021-01-18 14:11:23
Message-ID: CAGnEbojY3cOhBqm4y0TCYA5HD=wt7bBReD6tCqDPLdV+-HUq3A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

пн, 18 янв. 2021 г. в 13:42, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>:

> I don't think any of these can happen in what I am actually saying. Do
> you still have the same feeling after reading this email? Off-hand, I
> don't see any downsides as compared to the current approach and it
> will have fewer splits in some other workloads like when there is a
> mix of inserts and non-HOT updates (that doesn't logically change the
> index).
>

If I understand you correctly, you suggest to track _all_ the hints that
came
from the executor for possible non-HOT logical duplicates somewhere on
the page. And when we hit the no-space case, we'll check not only the last
item being hinted, but all items on the page, which makes it more probable
to kick in and do something.

Sounds interesting. And judging on the Peter's tests of extra LP_DEAD tuples
found on the page (almost always being more, than actually flagged), this
can
have some positive effects.

Also, I'm not sure where to put it. We've deprecated the BTP_HAS_GARBAGE
flag, maybe it can be reused for this purpose?

--
Victor Yegorov

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2021-01-18 14:13:22 Re: Additional Chapter for Tutorial - arch-dev.sgml
Previous Message Robert Haas 2021-01-18 13:54:10 Re: recovering from "found xmin ... from before relfrozenxid ..."