Re: Removing special case OID generation

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org, Simon Riggs <simon(at)2ndquadrant(dot)com>, Jim Nasby <jim(at)nasby(dot)net>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Subject: Re: Removing special case OID generation
Date: 2012-02-13 15:19:53
Message-ID: CA+TgmoZY5QNjRmm_U01JC_CmGt6ixEwg6DDRTbipWaCZUORqRA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Feb 13, 2012 at 9:41 AM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> On Monday, February 13, 2012 02:08:08 PM Robert Haas wrote:
>> On Sat, Feb 11, 2012 at 4:23 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
>> > Yeh, I was thinking we would do well to implement cached sequences for
>> > say first 1000 sequences.
>>
>> Another option might be to store all the sequences for a particular
>> database in a single underlying data file.  The current implementation
>> uses a whole page for a single tuple that is presumably much smaller
>> than that.  So when you create a sequence "foo", it's really creating
>> a row in some new system catalog pg_sequences, or something like that.
> I wonder if the tigher packing would be noticeable contentionwise.... If
> several hot sequences end up in a single page that could end up being
> measurable.

For the contention to really be an issue, you'd need a very high rate
of access to that sequence - in my tests so far, the only things that
seem to get hot enough to really hurt are the roots of btrees and
visibility map pages. And on the plus side, you'd be reducing the
number of pages fighting to stay in shared_buffers. That having been
said, it's something to watch out for - I certainly don't know enough
to say for certain that it wouldn't be a problem.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Vik Reykja 2012-02-13 15:34:51 Re: Optimize referential integrity checks (todo item)
Previous Message Robert Haas 2012-02-13 15:12:34 Re: When do we lose column names?