Re: Lossy Index Tuple Enhancement (LITE)
От | Simon Riggs |
---|---|
Тема | Re: Lossy Index Tuple Enhancement (LITE) |
Дата | |
Msg-id | CANP8+j+K9QOQme76Dgw3J6w-tve6PxCiZ7UOh7_y-4mWV+3c-A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Lossy Index Tuple Enhancement (LITE) (Bruce Momjian <bruce@momjian.us>) |
Ответы |
Re: Lossy Index Tuple Enhancement (LITE)
Re: Lossy Index Tuple Enhancement (LITE) |
Список | pgsql-hackers |
On 4 August 2016 at 00:56, Bruce Momjian <bruce@momjian.us> wrote: > On Wed, Aug 3, 2016 at 07:28:52PM -0400, Bruce Momjian wrote: >> With LITE, you can avoid the creation of duplicate-value index entries >> for indexes without changed column values by using a bitmap in place of >> the tid item number (16 bits). It can't remove dead tids. > > How would you handle the case where there are two LITE index entries > pointing to two different update chains on the same page? > When you > search the page for the first heap chain, could the second index entry > find the same chain. How would you know which index entry is which > chain? It's easiest to understand this is by imagining each LITE pointer pointing to a whole page. The chains aren't followed during the scan, individual heap tuple versions are treated as they would be by a seq scan. That is more expensive than we might like, so the bitmap/linepointer thing is just an extra tweak to avoid scanning the whole block. The bitmap refers to ranges of linepointers, not chains. i.e. 0-15, 16-31, 32-47 etc > Would you only add a LITE index entry when there isn't an > existing index entry for the same values and heap page? That seems > quite complicated. The insertion algorithm is described. Doesn't seem complicated to me. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: