Logical Rowids

Rows in index-organized tables do not have permanent physical addresses , they are stored in the
index leaves and can move within the block or to a different block as a result of insertions.
Therefore their row identifiers cannot be based on physical addresses. Instead, Oracle provides
index-organized tables with logical row identifiers, called logical rowids, that are based on the
table's primary key. Oracle uses these logical rowids for the construction of secondary indexes on
index-organized tables.

Each logical rowid used in a secondary index can include a physical guess, which identifies the
block location of the row in the index-organized table at the time the guess was made; that is, when
the secondary index was created or rebuilt.

Oracle can use guesses to probe into the leaf block directly, bypassing the full key search. This
ensures that rowid access of nonvolatile index-organized tables gives comparable performance to the
physical rowid access of ordinary tables. In a volatile table, however, if the guess becomes stale
the probe can fail, in which case a primary key search must be performed.

The values of two logical rowids are considered equal if they have the same primary key values but
different guesses.

[@more@]
请使用浏览器的分享功能分享到微信等