RE: How does Oracle know where to read from

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <ax.mount@xxxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 10 Apr 2009 17:09:00 -0400

If it is a full table scan, then it gets it from the same underlying places
as those that comprise the view dba_extents, depending on object type.

If it is an index lookup, each row reference in each index leaf block has a
row block address in case you need more than the key columns and actually
have to look up the block (or blocks).

Migrated blocks have a relocation address in the original block.

Multiblock rows have the address of the next piece in each non-last piece.

That about covers the basics. IOTs and Hash clusters are beyond the scope of
this email.

mwf

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx]
On Behalf Of amonte
Sent: Friday, April 10, 2009 4:52 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: How does Oracle know where to read from

Hi all

I have a probably very basic question but I cant think how Oracle does it.

When we query a table we know that data block address is hashed to
read if buffer chain if reading from cache, otherwise look the rows in
the data block address.

My question is when we run a query how is the data block address
obtained? From where?

Alex
--
//www.freelists.org/webpage/oracle-l




--
//www.freelists.org/webpage/oracle-l


Other related posts: