Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Does it read empty blocks into buffer cache ?
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. Received on Mon Jan 20 2003 - 18:19:39 CST