Re: Performance on inserts

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alfred Perlstein <bright@wintelcom.net>
Cc: Jules Bean <jules@jellybean.co.uk>, pgsql-hackers@postgresql.org
Date: 2000-08-25T18:25:37Z
Lists: pgsql-hackers
Alfred Perlstein <bright@wintelcom.net> writes:
> I'm unsure if it's possible, but somehow storing the last place one
> 'gave up' and decided to split the page could offer a useful next-start
> for the next insert.

I think that that would create problems with concurrency --- the
Lehman-Yao btree algorithm is designed around the assumption that
writers only move right and never want to go back left to change
a prior page.  So once we've moved right we don't get to go back to
the start of the chain of duplicates.

> For some reason it looks like your algorithm might cause
> problems because it plain gives up after 10 pages?

"Give up" just means "stop looking for already-existing free space,
and make some the hard way".  The steady-state average space utilization
of this way would be somewhat worse than the existing code, probably,
but I don't see that as a big problem.

			regards, tom lane