Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: slow SQL query, diagnosis using 10046 trace event
Jonathan Lewis wrote:
>
> I have an
> idea, in fact, that when you do single row fetch
> (as opposed to array fetch) in recent versions
> of Oracle, there is actually a hidden optimisation
> that attempts to fetch two rows and buffers the
> second row locally - but this is just a hypothesis
> that I have not yet examined in detail.
>
> Jonathan Lewis
> http://www.jlcomp.demon.co.uk
>
I believe that hypothesis to be pretty true. The Oracle calls now have a 'prefetch size' attribute, which is, I think, turned on by default, to avoid round-trips. This is a nice feature for all those people who have been told for the past 15 years to use array fetch and yet don't. Less nice for those who do, since Oracle does a hidden array fetch of its own in your back, then you do a local array fetch from its buffers (I have no idea about the consequences of a mismatch of both array sizes). I think that you end up copying more bytes when you do things as you ought to.
-- Regards, Stephane Faroult Oriole Software -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Stephane Faroult INET: sfaroult_at_oriole.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- 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 May 07 2002 - 15:38:35 CDT
![]() |
![]() |