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

  • From: DEEDSD@xxxxxxxxxxxxxx
  • To: oracle-l <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 28 May 2008 10:32:11 -0400

It seems that you are trying to gather details from an aggregate.  Those 
queries don't tell you how long the system has been up, or how many reads 
actually took place.  They also don't tell you how many blocks were read.  




"qihua wu" <staywithpin@xxxxxxxxx>
 
Sent by: oracle-l-bounce@xxxxxxxxxxxxx




05/28/2008 05:45 AM
Please respond to staywithpin@xxxxxxxxx

From
"qihua wu" <staywithpin@xxxxxxxxx>
To
oracle-l <oracle-l@xxxxxxxxxxxxx>
cc

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

Other related posts: