Re: vacuum, performance, and MVCC
От | Bruce Momjian |
---|---|
Тема | Re: vacuum, performance, and MVCC |
Дата | |
Msg-id | 200606261245.k5QCjFP04373@momjian.us обсуждение исходный текст |
Ответ на | Re: vacuum, performance, and MVCC ("Zeugswetter Andreas DCP SD" <ZeugswetterA@spardat.at>) |
Список | pgsql-hackers |
Zeugswetter Andreas DCP SD wrote: > > > > On 6/25/2006 10:12 PM, Bruce Momjian wrote: > > > >When you are using the update chaining, you can't mark that index > row > > > >as dead because it actually points to more than one row on the > page, > > > >some are non-visible, some are visible. > > > > > > Back up the truck ... you mean in the current code base we have heap > > > > tuples that are visible in index scans because of heap tuple > chaining > > > but without index tuples pointing directly at them? > > > > I don't know where this idea came from, but it's not true. > > All heap tuples, dead or otherwise, have index entries. > > When using CITC you would be "reusing" the index tuples from the current > heap tuple, so you can only reuse free space or a dead member of a CITC > chain. > You cannot reuse a dead tuple not member of a CITC chain because that > has separate > (invalid) index tuples pointing at it. > > Part of the trick was moving slots (==ctid) around, so I still do not > really see how > you can represent the CITC chain as part of the update chain. > Unless you intend to break dead parts of the update chain ? Maybe that > is ok ? Yes, you have to remove dead (non-visible) parts of the update chain. -- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-hackers по дате отправления: