Search Postgresql Archives

Row versions and indexes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Suppose I have a table and index:

   create table t(x int, y varchar, primary key(x));

and that the only updates are "update t set y = ... where x = ?".

I understand that updating a row of t generates a new row version, and
that different transactions may see different versions of the same
row.

How does versioning work for the index?

- The update above does not update the index key. Does the index get
 updated at all?

- If not, then how can an index lookup return the correct version of
 selected rows?

This aspect of versioning has never been clear to me. Now there's a cost
issue involved, as I need to update every row in a large table, never
updating the index key. Will this run faster if I drop the index?
(Yes, I can run the experiment, but I'd like to understand the
fundamentals better.)

Jack Orenstein


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux