On Mon, May 10, 2021 at 04:14:56PM -0700, Peter Geoghegan wrote:
> On Mon, May 10, 2021 at 3:58 PM Bruce Momjian <bruce@momjian.us> wrote:
> > OK, you are confirming what Matthias suggested. I added these two
> > items, which both seem to apply only to heap pages, not index pages:
>
> That's right -- these two relate to heap pages only.
>
> I think that Matthias compared these two to bottom-up index deletion
> because all three patches are concerned about avoiding "a permanent
> solution to a temporary problem". They're conceptually similar despite
> being in fairly different areas. Evidently Matthias has a similar
> mental model to my own when it comes to this stuff.
Agreed, that is a very interesting distinction.
> Unfortunately the practical significance of the line pointer patch is
> hard to demonstrate with a benchmark. I believe that it is very useful
> on a sufficiently long timeline and with certain workloads because of
> the behavior it avoids. As I pointed out on that other thread
> recently, once you have irreversible bloat very small adverse events
> will eventually add up and cause big problems. When this happens it'll
> be very hard or impossible to detect, since it just looks like heap
> fragmentation.
>
> That said, it's clearly an issue with one of the TPC-C tables if you
> run BenchmarkSQL for days and days (just one table, though). So there
> is hard evidence that line pointer bloat could get really out of hand
> in at least some tables.
OK, once I dug into what you two were saying, I see the significance. I
was frankly surprised we didn't already have these optimizations, and
you are right they can lead to long-term problems.
--
Bruce Momjian <bruce@momjian.us> https://momjian.us
EDB https://enterprisedb.com
If only the physical world exists, free will is an illusion.