Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: db_file_multiblock_read_count causing full scans to take longer?

Re: db_file_multiblock_read_count causing full scans to take longer?

From: Mladen Gogala <mgogala_at_verizon.net>
Date: Tue, 19 Dec 2006 19:54:32 -0500
Message-id: <1166576072l.2750l.0l@medo.noip.com>

On 12/19/2006 01:44:05 PM, Don Seiler wrote:
> After having it set in our dev instances for a week, I raised our
> db_file_multiblock_read_count in production from 16 to 128 (based on
> documented 10046 traces). After getting tickets about certain
> operations being slow, I identified a select query against our NOTES
> table as doing a full scan, which it did previously as well. However
> the full scan now takes 133 seconds, as opposed to 8-10 seconds with
> db_file_multiblock_read_count of 16 or 32.
>
> Granted, there needs to be some query tuning done (or a crutch index
> in the meantime) so that we aren't doing this full scan, but I thought
> that db_file_multiblock_read_count would make full scans take less
> time, if anything. Autotraces and query plans show similar numbers,
> as far as I can tell.

The db_file_multiblock_read_count parameter serves to determine the maximum length of the IO vector in readv call. The maximum size of single atomary I/O is different from OS to OS and from file system to file system. If your vector gets too big, it must be internally broken into multiple I/O requests, which brings I/O scheduler into play. So, OS has much more work to do then if you simply put few more vectors into readv call. That will slow you down. You do not want to increase MBRC above the maximum size of a single atomic disk IO on your platform.

-- 
Mladen Gogala
http://www.mladen-gogala.com

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Dec 19 2006 - 18:54:32 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US