|Re: [IB-Architect] trouble with sweep
> From: Pavel CisarRecord versions are stored/chained the latest/newest version first.
> From my POV, the GC thread is poorly designed - badly chosen trade off.
> Transaction may win a spared page write _only_ when row is accessed for
> read, but for significantly bigger chance that chain would span to other
> pages so next transactions would be hit not just chain traversal, but
> also by more page reads. At the end, all users that would access the row
> are hit harder than one poor reader that would get nailed to GC.
Thus if you obey common recommendation "keep transactions short"
you should not be (much) hit by "chain traversal",
because the first record version you retrieve is usually that one
your transaction can see.
(But of course there is still slowdown caused by indexes
that points to more records than your transaction can see.)