Oh how I wished my reads were as "slow" as 1.8ms.
I don't think you can draw any conclusions from this. I would hypothesize that
many of your reads are from the SAN cache. If scattered reads had a higher
percentage that were read from disk, that "could" cause the results you are
seeing.
Are you trying to solve a problem or is this just an academic exercise.
Keith
----- Original Message -----
From: qihua wu
To: oracle-l
Sent: Wednesday, May 28, 2008 4:45 AM
Subject: direct read is much faster than scattered read, is it reasonable?
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