direct read is much faster than scattered read, is it reasonable?

From: qihua wu <staywithpin_at_gmail.com>
Date: Wed, 28 May 2008 17:45:59 +0800
Message-ID: <2689c1070805280245sccc9593t70424fe0ad1b0796@mail.gmail.com>


I executed these sql on my database:

SQL> select time_waited_micro/total_waits/1000000 from v$system_event where event_id in (select event_id from v$event_name where name='direct path read');

TIME_WAITED_MICRO/TOTAL_WAITS/1000000


.000503342

SQL> select time_waited_micro/total_waits/1000000 from v$system_event where event_id in (select event_id from v$event_name where name='db file scattered read');

TIME_WAITED_MICRO/TOTAL_WAITS/1000000


.001818803

We could see: to access one block using *scattererd read*, it will take *1.8 ms*, but when access one block using "*direct path read*", it only takes * 0.5ms*. How could direct path read much much quicker than scatterer read? Isn't the scattered read the fastest method to access data block? Our system uses SAN storage, and SAN could pre-fetch to speed-up the block access. But I think it pre-fetch will help both scattered read and direct path read, am I right?

Thanks,
Qihua

--
http://www.freelists.org/webpage/oracle-l
Received on Wed May 28 2008 - 04:45:59 CDT

Original text of this message