Subject | Re: [Firebird-Architect] Transaction tagged indexes |
---|---|
Author | Dmitry Yemanov |
Post date | 2015-08-22T09:08:13Z |
22.08.2015 02:34, Ann Harrison wrote:
but allows faster GC without storage overhead for TIDs. Do you think
this approach is worth adopting?
This does not solve the index coverage, however. As a workaround, PGSQL
now uses the visibility bitmap to avoid fetching a data page if all its
rows are guaranteed to be visible to everyone. Kinda compromise solution
that surely works fine for the "old" data but unlikely to give any
advantage for the hot data pages in the oltp load.
Dmitry
>I hope so.
> Interesting. When we used the "one index entry per value" rules,
> maintenance was reasonably cheap, but the algoithm was fragile and
> subject to more problems as processors got faster. I suspect that
> there's a solution to that problem short of adding 128 bits to every
> index entry.
> I suspect that Postgres went the otherCorrect. This adds the index maintenance overhead for updates/deletes,
> way. They store their record versions oldest to newest (rather than
> vice versa) and (IIRC) their indexes point to the version, not the
> primary record.
but allows faster GC without storage overhead for TIDs. Do you think
this approach is worth adopting?
This does not solve the index coverage, however. As a workaround, PGSQL
now uses the visibility bitmap to avoid fetching a data page if all its
rows are guaranteed to be visible to everyone. Kinda compromise solution
that surely works fine for the "old" data but unlikely to give any
advantage for the hot data pages in the oltp load.
Dmitry