> So, here is something annoying with the current approach : Updating rows
> in a table bloats ALL indices, not just those whose indexed values have
> been actually updated. So if you have a table with many indexed fields and
> you often update some obscure timestamp field, all the indices will bloat,
> which will of course be corrected by VACUUM, but vacuum will have extra
> work to do.
The MVCC approach probably doesn't leave you with many choices here.
The index entries point directly to the rows in the table, and since
an update creates a new row (it's the equivalent of doing an insert
then a delete), all indexes have to be updated to reflect the location
of the new row.
Unless my understanding of how this works is completely off...
Kevin Brown kevin(at)sysexperts(dot)com
In response to
pgsql-performance by date
|Next:||From: Tom Lane||Date: 2005-01-28 20:50:42|
|Subject: Re: Poor Performance on Postgres 8.0 |
|Previous:||From: Dawid Kuroczko||Date: 2005-01-28 19:59:05|
|Subject: Re: Flattening a kind of 'dynamic' table|