Your best best is to quantify this mathematically. Take the following
example:
Case 1: 100GB table, one extent
Case 2: 100GB table, 1000 extents
Assume:
a) track to track seeks are 'free'
b) random seeks are 20ms
c) Block size is 16KB
d) db_file_multiblock_read_count=16
e) multiblock read time=8.6ms (29MB/s conservative for 10k drives)
f) total # reads=409600
g) one drive only (a very big one...)
Case1:
Time for FTS= 409600*8.6ms=3522s (~ 1 hour)
Case2:
Time for FTS= 3522s (as above) PLUS 1000*20ms= 20s - TOTAL=3542s
The difference is minor in this case (0.5% greater elapsed time) and
1000 extents would put each at ~100MB in this case. If you had <cue Dr.
Evil voice> 1 million extents, it would be a different story - about
668% longer...
Hope that helps - there's an infinite number of shades of grey, so it's
important to do the math!
Regards
James
Bill Buchan wrote:
>
>
> I know this one has been done to death: use uniform extents to avoid
> fragmentation; multiple extents don't hurt (within limits).
>
> But what if:
>
> Data Warehouse, one big table on a single disk, full table (batch)
> scan, no concurrent transactions on the database (so no contention for
> the disk), no fragmentation at the file system level, initially empty
> buffer cache (startup), read-only operation so DBWR isn't doing
> anything on this disk. Basically I want to read one data file from
> end to end. Surely it would make sense to have the disk read moving
> smoothly from one end of the disk to the other rather than bouncing
> about all over the place as it may do with multiple extents "randomly"
> allocated.
>
> Any thoughts?
>
> Thanks
> - Bill.
>
--
James Morle
Scale Abilities, Ltd
http://www.scaleabilities.co.uk
Author of "Scaling Oracle8i - Building Highly Scalable OLTP System Architectures"
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: James Morle
INET: [EMAIL PROTECTED]
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: [EMAIL PROTECTED] (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).