Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Does it read empty blocks into buffer cache ?

Re: Does it read empty blocks into buffer cache ?

From: DA Morgan <damorgan_at_exesolutions.com>
Date: Sun, 19 Jan 2003 07:31:22 -0800
Message-ID: <3E2AC4CA.CB003672@exesolutions.com>


Bass Chorng wrote:

> If I have a table with 0 rows but it has a very high highwater mark
> and if I do a select *, would Oracle scan all empty blocks into
> the buffer cache ?
>
> The known factor is Oracle will perform a full table scan to the
> highwater mark although the table is empty, and the question
> is,is Oracle going to flood the buffer cache with all the
> empty blocks it reads ?
>
> I don't see any reason why it wouldn't, as it is the same
> as if the table is loaded with rows. But then the state of
> x$bh would be 0 or 1 for those empty blocks that are read
> in ?
>
> I did a test and observed no state change. But I can not
> tell if it did not read the empty blocks in the first place
> or if it did, but since the blocks are empty, they are
> still marked as state 0.
>
> Wonder if any body knows the answer.

Oracle will read to the high-water mark if doing a full-table scan. If it didn't how would it know there was nothing there?

Daniel Morgan Received on Sun Jan 19 2003 - 09:31:22 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US