Hannu Krosing wrote: > On R, 2005-04-22 at 11:40 -0400, Bruce Momjian wrote: > > See this TODO: > > > > * Allow data to be pulled directly from indexes > > > > Currently indexes do not have enough tuple visibility information > > to allow data to be pulled from the index without also accessing > > the heap. One way to allow this is to set a bit to index tuples > > to indicate if a tuple is currently visible to all transactions > > when the first valid heap lookup happens. > > I don't think this is implementable in any reasonably cheap way (i.e. > this will be a general performance loss). > > This has all the downsides of storing full visibility in index tuples, > except the size.
Yea, I suppose. > > This bit would have to be cleared when a heap tuple is expired. > > Does "expired" here mean marked for deletion ? Yes. > This can be prohibitively pricey for big tables with lots of indexes, as > marking the tuple means alsn finding and possibly writing to all index > enytries pointing to this tuple. Yep, it could be very ugly, but it would help with our COUNT(*) problem too. Isn't there a solution? If there isn't, I can remove the TODO item. > > I think this is the direction we should be heading because it has more > > general usefulness. > > OTOH this will probably never be implemented for the same reason that > full visibility in index tuples will not, whereas my proposition can be > implemented quite easily (it's just a SMOP). I would like to find something that has more general usefulness. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings