Eliminate redundant tuple visibility check in vacuum

Поиск
Список
Период
Сортировка
От Melanie Plageman
Тема Eliminate redundant tuple visibility check in vacuum
Дата
Msg-id CAAKRu_br124qsGJieuYA0nGjywEukhK1dKBfRdby_4yY3E9SXA@mail.gmail.com
обсуждение исходный текст
Ответы Re: Eliminate redundant tuple visibility check in vacuum  (David Geier <geidav.pg@gmail.com>)
Re: Eliminate redundant tuple visibility check in vacuum  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
While working on a set of patches to combine the freeze and visibility
map WAL records into the prune record, I wrote the attached patches
reusing the tuple visibility information collected in heap_page_prune()
back in lazy_scan_prune().

heap_page_prune() collects the HTSV_Result for every tuple on a page
and saves it in an array used by heap_prune_chain(). If we make that
array available to lazy_scan_prune(), it can use it when collecting
stats for vacuum and determining whether or not to freeze tuples.
This avoids calling HeapTupleSatisfiesVacuum() again on every tuple in
the page.

It also gets rid of the retry loop in lazy_scan_prune().

- Melanie

Вложения

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Return value of pg_promote()
Следующее
От: David Rowley
Дата:
Сообщение: Re: Debian 12 gcc warning