Re: Move pg_attribute.attcompression to earlier in struct for reduced size?

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: Move pg_attribute.attcompression to earlier in struct for reduced size?
Дата
Msg-id YMA0iRYL49kdCCZu@paquier.xyz
обсуждение исходный текст
Ответ на Re: Move pg_attribute.attcompression to earlier in struct for reduced size?  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Ответы Re: Move pg_attribute.attcompression to earlier in struct for reduced size?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Tue, Jun 08, 2021 at 10:39:24AM -0400, Alvaro Herrera wrote:
> My unverified guess is that this code causes too many pipeline stalls
> while executing the big per-column loop.  Maybe it would be better to
> scan the attribute array twice: one to collect all data from
> Form_pg_attribute for each column into nicely packed arrays, then in a
> second loop process all the recompressions together ... the idea being
> that the first loop can run without stalling.

You mean for attlen and attcompression, right?  I agree that it would
help.

A extra set of things worth it here would be to move the allocation
and memset(0) of values_free from reform_and_rewrite_tuple(), and do
the round of pfree() calls if at least one value has been detoasted.

> Maybe at this point reverting is the only solution.

That's a safe bet at this point.  It would be good to conclude this
one by beta2 IMO.
--
Michael

Вложения

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

Предыдущее
От: Thomas Munro
Дата:
Сообщение: Re: Adjust pg_regress output for new long test names
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Move pg_attribute.attcompression to earlier in struct for reduced size?