RE: Does Oracle store values in indices?

From: "Mikheev, Vadim" <vmikheev(at)SECTORBASE(dot)COM>
To: "'Denis Perchine'" <dyp(at)perchine(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: RE: Does Oracle store values in indices?
Date: 2001-01-23 22:20:34
Message-ID: 8F4C99C66D04D4118F580090272A7A234D32B1@sectorbase1.sectorbase.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> > > But how Oracle handles this?
> >
> > Oracle doesn't have non-overwriting storage manager but uses
> > rollback segments to maintain MVCC. Rollback segments are used
> > to restore valid version of entire index/table page.
>
> Are there any plans to have something like this? I mean
> overwriting storage manager.

Well, I have plans to reimplement storage manager to allow space
re-use without vacuum but without switching to overwriting, at least
in near future - achievements/drawbacks are still questionable.

We could add transaction data to index tuples but this would increase
their size by ~ 16bytes. To estimate how this would affect performance
for mostly statical tables one can run tests with schema below:

create table i1 (i int, k int, l char(16));
create index i_i1 on i1 (i);
create table i2 (i int, k int, l char(16));
create index i_i2 on i2 (i, k, l);

Now fill tables with same data and run queries using only "I" in where
clause.

Vadim

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2001-01-23 22:43:07 Re: [PATCHES] binary operators on integers
Previous Message Tom Lane 2001-01-23 22:08:47 Re: pg_shadow.usecatupd attribute