Re: Free space management within heap page
От | Heikki Linnakangas |
---|---|
Тема | Re: Free space management within heap page |
Дата | |
Msg-id | 45B5D75A.5040003@enterprisedb.com обсуждение исходный текст |
Ответ на | Free space management within heap page ("Pavan Deolasee" <pavan.deolasee@gmail.com>) |
Ответы |
Re: Free space management within heap page
|
Список | pgsql-hackers |
Pavan Deolasee wrote: > I am thinking that maintaining fragmented free space within a heap page > might be a good idea. It would help us to reuse the free space ASAP without > waiting for a vacuum run on the page. This in turn will lead to lesser heap > bloats and also increase the probability of placing updated tuple in the > same heap page as the original one. Agreed. > So during a sequential or index scan, if a tuple is found to be dead, the > corresponding line pointer is marked "unused" and the space is returned > to a > free list. This free list is maintained within the page. A linked-list can > be used for this purpose and the special area of the heap-page can be used > to track the fragment list. We can maintain some additional information > about the fragmented space such as, total_free_space, max_fragment_size, > num_of_fragments etc in the special area. Maintaining a list like that seems like a lot of hassle to me. Instead, you could just scan the line pointers looking for a dead tuple of the right size. We already have to scan the line pointers when inserting to find a free line pointer. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: