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
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 |