Re: How does Oracle know where to read from

From: K Gopalakrishnan <kaygopal_at_gmail.com>
Date: Fri, 10 Apr 2009 16:04:34 -0500
Message-ID: <3b0f44a10904101404h6a1781a8qd1fc9116c9737827_at_mail.gmail.com>



Alex, Let me try to answer in simple way.

When you run a query, data dictionary provides the file#,block# or extent info for that table. Once you know the file#,blok# you can compute the dba and search the buffer cache for that dba (yet another simple hash function). If not found send an I/O request on that file#,block#.

Is this what you are looking for or something else/?

On Fri, Apr 10, 2009 at 3:51 PM, amonte <ax.mount_at_gmail.com> wrote:
> 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
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Apr 10 2009 - 16:04:34 CDT

Original text of this message