Re: New Table Access Methods for Multi and Single Inserts
От | Luc Vlaming |
---|---|
Тема | Re: New Table Access Methods for Multi and Single Inserts |
Дата | |
Msg-id | 543ac8bf-5914-aa90-2c2e-e4f8345bfe61@swarm64.com обсуждение исходный текст |
Ответ на | Re: New Table Access Methods for Multi and Single Inserts (Jeff Davis <pgsql@j-davis.com>) |
Список | pgsql-hackers |
On 05-01-2021 22:28, Jeff Davis wrote: > On Mon, 2021-01-04 at 08:59 +0100, Luc Vlaming wrote: >> Reason I'm asking is that I quite liked the heap_insert_begin >> parameter >> is_multi, which could even be turned into a "expected_rowcount" of >> the >> amount of rows expected to be commited in the transaction (e.g. >> single, >> several, thousands/stream). > > Do you mean "written by the statement" instead of "committed in the > transaction"? It doesn't look like the TableInsertState state will > survive across statement boundaries. > > Though that is an important question to consider. If the premise is > that a given custom AM may be much more efficient at bulk inserts than > retail inserts (which is reasonable), then it makes sense to handle the > case of a transaction with many single-tuple inserts. But keeping > insert state across statement boundaries also raises a few potential > problems. > > Regards, > Jeff Davis > > I did actually mean until the end of the transaction. I know this is currently not possible with the current design but I think it would be cool to start going that way (even if slightly). Creating some more freedom on how a tableam optimizes inserts, when one syncs to disk, etc would be good imo. It would allow one to create e.g. a tableam that would not have as a high overhead when doing single statement inserts. Kind regards, Luc
В списке pgsql-hackers по дате отправления: