Re: init_sequence spill to hash table

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: init_sequence spill to hash table
Дата
Msg-id 673.1384439000@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: init_sequence spill to hash table  (Andres Freund <andres@2ndquadrant.com>)
Ответы Re: init_sequence spill to hash table  (Andres Freund <andres@2ndquadrant.com>)
Re: init_sequence spill to hash table  (David Rowley <dgrowleyml@gmail.com>)
Список pgsql-hackers
Andres Freund <andres@2ndquadrant.com> writes:
> I think it'd be a better idea to integrate the sequence caching logic
> into the relcache. There's a comment about it:
>  * (We can't
>  * rely on the relcache, since it's only, well, a cache, and may decide to
>  * discard entries.)
> but that's not really accurate anymore. We have the infrastructure for
> keeping values across resets and we don't discard entries.

We most certainly *do* discard entries, if they're not open when a cache
flush event comes along.

I suppose it'd be possible to mark a relcache entry for a sequence
as locked-in-core, but that doesn't attract me at all.  A relcache
entry is a whole lot larger than the amount of state we really need
to keep for a sequence.

One idea is to have a hashtable for the sequence-specific data,
but to add a link field to the relcache entry that points to the
non-flushable sequence hashtable entry.  That would save the second
hashtable lookup as long as the relcache entry hadn't been flushed
since last use, while not requiring any violence to the lifespan
semantics of relcache entries.  (Actually, if we did that, it might
not even be worth converting the list to a hashtable?  Searches would
become a lot less frequent.)
        regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: init_sequence spill to hash table
Следующее
От: Andres Freund
Дата:
Сообщение: Re: init_sequence spill to hash table