Re: Using oids for fast read-only access?

Started by Peter Eisentrautover 24 years ago2 messagesgeneral
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

Christopher Zach writes:

After inserting the geometry, the data is read only, therefore I would like
to replace the id's in the rtree with oids (or anything that has a constant
time access).

And what makes you think oids have a more "constant" access time than
integers? The only thing you will save if you omit the id column is
space.

The problem is that a "select * from geometry where oid=xxx" is a lot slower
than selecting objects by their id (since the former does a seq scan and the
later an index scan).

No surprise if you haven't got an index on oid.

The PostgreSQL documentation doesn't say much about oids and their use,
therefore I need al little help...

Oids aren't really any different than other (integer) types, only that
they are generated automatically.

--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter

#2Christopher Zach
zach@icg.tu-graz.ac.at
In reply to: Peter Eisentraut (#1)

Am Freitag, 10. August 2001 12:24 schrieben Sie:

Christopher Zach writes:

After inserting the geometry, the data is read only, therefore I would
like to replace the id's in the rtree with oids (or anything that has a
constant time access).

And what makes you think oids have a more "constant" access time than
integers? The only thing you will save if you omit the id column is
space.

Because I thought the oid has some direct relationship to the physical page
the row is stored in. The intention was to jump directly to the row instead
of going through a btree...

Oids aren't really any different than other (integer) types, only that
they are generated automatically.

It seems so :( But how would you speed up many individual selects on
nonconsecutive rows?

bye,

Christopher Zach