Re: Generating partitioning tuple conversion maps faster

Поиск
Список
Период
Сортировка
От Alexander Kuzmenkov
Тема Re: Generating partitioning tuple conversion maps faster
Дата
Msg-id cbd0b9b1-ded9-31ac-8fe4-0e0ab0979b8d@postgrespro.ru
обсуждение исходный текст
Ответ на Generating partitioning tuple conversion maps faster  (David Rowley <david.rowley@2ndquadrant.com>)
Ответы Re: Generating partitioning tuple conversion maps faster  (David Rowley <david.rowley@2ndquadrant.com>)
Список pgsql-hackers
On 06/25/2018 08:00 AM, David Rowley wrote:
> I'd have expected Test 6 to do about 480-500tps. Adding debug to check
> why it's not revealed that the search is doing what's expected. I'm
> unsure why it has not improved more.

I think I found one possible reason for this slowness. Your patch 
behaves as expected when there is a dropped output column, but does one 
extra comparison when there is a dropped input column. This backwards 
conversion is called from ExecInitRoutingInfo. To fix this, I'd just 
keep a persistent inner loop counter (see the attached patch).

Still, fixing this doesn't improve the performance. According to perf 
report, updatepd.sql spends 25% of time in strcmp, and updatep.sql about 
0.5%, but they are comparing the same column names, even with the same 
alignment and relative offsets. I'm completely puzzled by this.

As a side thought, we wouldn't have to go through this if we had a hash 
table that is easy to use, or perhaps string interning in catcache.

-- 
Alexander Kuzmenkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


Вложения

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Does logical replication supports cross platform servers?
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Forbid referencing columns by names in ALTER INDEX ... SET STATISTICS