Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: When does Oracle use 'Index Fast Scan'
This is where the access time of your disks (or SAN) makes a difference.
If your disks have really fast access time, then a random-access
pattern would not cause much performance degradation and so a range scan
would not be slow at all, even though it's traversing the b-tree index
structure. If you're only striping together disks with relatively slow
access time (e.g. using a striped IDE disk array), then you have high
throughput but not that fast an access time. In this case, fast full
index scan would be much faster than an index range scan because the
fast full scan reads the blocks sequentially and a sequential disk I/O
requires only positioning the head once (assuming the disk is not
fragmented). The rest of the time depends on the throughput. If you
stripe together a large enough number of IDE disks, then your throughput
is great but your access time is still the access time of a single IDE
drive which is not that fast.
This is assuming you need to do a physical I/O to obtain the blocks. Of course, if the blocks already reside in the buffer cache, then it's a different story.
Regards,
Dave
ryan.gaffuri_at_cox.net wrote:
> btw, in many cases range scan is faster than a fast full scan. Range scan recursively hits the nodes that are needed and skips the ones that are not. So it reads less blocks. > > So if you are looking for a 'range' or a specific value, range scan beats fast full scan most of the time. Less Logical and Physical I/Os. > > test it and hint your queries > > >
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: David Hau INET: davehau123_at_netscape.net Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Tue Jan 27 2004 - 10:14:27 CST
![]() |
![]() |