Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: sequential read on full-table scan?
Paul,
So, you proved the fact about why MBR can be very slow and ugly, making much more I/O then needed. Your 16 block MBR become many small MBR (scattered Oracle read or sequential disk I/O) + a few cache reads + a few single block reads (sequential Oracle reads od single block I/O reads).
You reads like this:
block 9813, 9814 and 9815 - scattered read (MBR) with
MBRC=3
block 9816 - cache read
block 9817 and 9818 - scattred Oracle read with MBRC=2
block 9819 - cache read block 9820 - sequential Oracle read block 9821 - cache read block 9822 - sequential Oracle read
In this case you got 2 MBR + 2 SBR + 3 cache reads instead of 1 MBR with MBRC=10 (or 16).
I am confident that this is probably much more costly
then doing one MBR.
It is the interesting fact how Oracle data cache may
ruin performances sometimes.
We are not aware of this fact many times.
I believe that this is showing how important is to
collect system statistics to reveal to Oracle
optimizer the real speed of MBR.
The only problem is that Oracle is not predicting in
his cost how many MBR/SBR operation are going to
happen instead of 1 MBR? Is this true?
Regards,
Zoran
-- http://www.freelists.org/webpage/oracle-lReceived on Sat May 21 2005 - 01:28:30 CDT
![]() |
![]() |