Re: Heap WARM Tuples - Design Draft
От | Claudio Freire |
---|---|
Тема | Re: Heap WARM Tuples - Design Draft |
Дата | |
Msg-id | CAGTBQpaHbG+LAkS63pzU0ojU5SzWKbxpt0vogrvfdNzKaqjeqw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Heap WARM Tuples - Design Draft (Jim Nasby <Jim.Nasby@BlueTreble.com>) |
Ответы |
Re: Heap WARM Tuples - Design Draft
|
Список | pgsql-hackers |
On Tue, Aug 9, 2016 at 11:39 PM, Jim Nasby <Jim.Nasby@bluetreble.com> wrote: > On 8/9/16 6:44 PM, Claudio Freire wrote: >> >> Since we can lookup all occurrences of k1=a index=0 and k2=a index=0, >> and in fact we probably did so already as part of the update logic > > > That's a change from what currently happens, right? > > The reason I think that's important is that dropping the assumption that we > can't safely re-find index entries from the heap opens up other > optimizations, ones that should be significantly simpler to implement. The > most obvious example being getting rid of full index scans in vacuum. While > that won't help with write amplification, it would reduce the cost of vacuum > enormously. Orders of magnitude wouldn't surprise me in the least. > > If that's indeed a prerequisite to WARM it would be great to get that > groundwork laid early so others could work on other optimizations it would > enable. I can do that. I've been prospecting the code to see what changes it would entail already. But it's still specific to btree, I'm not sure the same optimizations can be applied to GIN (maybe, if the posting list is sorted) or GIST (probably, since it's like a btree, but I don't know the code well enough). Certainly hash indexes won't support it.
В списке pgsql-hackers по дате отправления: