Re: Don't deform column-by-column in composite_to_json
От | Daniel Gustafsson |
---|---|
Тема | Re: Don't deform column-by-column in composite_to_json |
Дата | |
Msg-id | E2B7EFEA-B147-407E-8398-3CE1216171F8@yesql.se обсуждение исходный текст |
Ответ на | Don't deform column-by-column in composite_to_json (Andres Freund <andres@anarazel.de>) |
Список | pgsql-hackers |
> On 2 Feb 2019, at 00:21, Andres Freund <andres@anarazel.de> wrote: > In https://postgr.es/m/20190201162404.onngi77f26baem4g%40alap3.anarazel.de > I noticed that composite_to_json() deforms column-by-column. Given that > it always processes all columns, that seems quite the waste of resources. > > In some quick'n dirty dirty testing this gives a ~4% benefit in a table > without nulls and varlenas, and ~7% in one with both. I assume that if > one were to test with a bit wider table the win would be bigger. > > A short test shows that it'd be slower to allocate nulls/values with > palloc rather than using MaxHeapAttributeNumber. Given that only output > functions are called from within composite_to_json(), I think that's ok. Nice catch, patch looks good to me. composite_to_jsonb() has the same construction, processing every attribute. Should it get a similar patch as this? cheers ./daniel
В списке pgsql-hackers по дате отправления: