Re: GIN improvements part 1: additional information
От | Heikki Linnakangas |
---|---|
Тема | Re: GIN improvements part 1: additional information |
Дата | |
Msg-id | 52B2F5B0.1030809@vmware.com обсуждение исходный текст |
Ответ на | Re: GIN improvements part 1: additional information (Heikki Linnakangas <hlinnakangas@vmware.com>) |
Ответы |
Re: GIN improvements part 1: additional information
|
Список | pgsql-hackers |
On 12/17/2013 12:49 AM, Heikki Linnakangas wrote: > On 12/17/2013 12:22 AM, Alexander Korotkov wrote: >> On Mon, Dec 16, 2013 at 3:30 PM, Heikki Linnakangas >> <hlinnakangas@vmware.com >>> wrote: >> >>> On 12/12/2013 06:44 PM, Alexander Korotkov wrote: >>> >>> When values are packed into small groups, we have to either insert >>>> inefficiently encoded value or re-encode whole right part of values. >>> >>> It would probably be simplest to store newly inserted items >>> uncompressed, >>> in a separate area in the page. For example, grow the list of >>> uncompressed >>> items downwards from pg_upper, and the compressed items upwards from >>> pg_lower. When the page fills up, re-encode the whole page. > > I hacked together an implementation of a variant of Simple9, to see how > it performs. Insertions are handled per the above scheme. Here's an updated version of that, using the page layout without item-indexes that I described in the other post. This is much less buggy than that earlier crude version I posted - and unfortunately it doesn't compress as well. The earlier version lost some items :-(. Nevertheless, I think this page layout and code formatting is better, even if we switch the encoding back to the varbyte encoding in the end. I haven't tested WAL replay or VACUUM with this version yet, so those are likely broken. - Heikki
Вложения
В списке pgsql-hackers по дате отправления: