|
Do your own testing. Don't rely on
papers. Prove it yourself. It's easy.
There are two types of "performance" implied in
this discussion about extent allocation and deallocation:
There is no reason to suggest that the performance
of DML might be affected by the number of extents, whether 1 extent or 500,000
extents. Think about it. Random, single-block reads (i.e. indexed
scans) are completely unaffected by Oracle extent size and
number; they are block-level accesses, after all.
They care nothing about the concept of extent. Sequential,
multi-block reads (i.e. full table scans, fast full index scans) can only be
affected if the extent size is extremely small but is completely
unaffected by the number of extents. Extremely small extents
can obviously affect a multi-block read if they consistently limit
the number of blocks that can be read.
Since testing this requires some non-trivial
resources (i.e. test data and disk space) to prove, I'll
leave the proving to those who have both (in addition
to time).
This leaves DDL, which is mercifully easy to test
on any environment using locally-managed tablespaces. Do *not* do this
type of testing in dictionary-managed tablespaces, as there is no point.
LMTs were created to alleviate the problems you'd be experiencing with
DMTs...
Try an exercise like
the following in SQL*Plus:
Re-run the test for different values of
<COUNTER>, all the way up to values like 250,000 or 500,000, if you
like. The timings for CREATE TABLE should be consistent, of course, as it
is the exact same command each time. The time spent in the PL/SQL loop
should be roughly linear with the value of <COUNTER>, the point being that
each ALLOCATE EXTENT takes roughly the same amount of time. You might
observe an "elbow" in the plotted curve of timings at some point which Rachel
suggested at 4000 but I think will vary depending on your environment. On
my laptop, I've seen the curve stay linear up into the 100,000s. The time
spent in DROP may not vary a great deal; it should be roughly linear
with the value of COUNTER but I find that it is much better than linear, which
leads me to believe that some parts of a DROP/TRUNCATE operation are
asynchronous.
Try it out!
|
Title: RE: datafile sizing question
- RE: datafile sizing question John . Hallas
- RE: datafile sizing question Hand, Michael T
- RE: datafile sizing question DENNIS WILLIAMS
- RE: datafile sizing question Karniotis, Stephen
- RE: datafile sizing question Gesler, Rich
- RE: datafile sizing question Jared . Still
- RE: datafile sizing question Rachel Carmichael
- RE: datafile sizing question VIVEK_SHARMA
- RE: datafile sizing question Rachel Carmichael
- RE: datafile sizing question Jamadagni, Rajendra
- Re: datafile sizing question Tim Gorman
- Re: datafile sizing question Tim Gorman
- RE: datafile sizing question DENNIS WILLIAMS
- RE: datafile sizing question Rachel Carmichael
- RE: datafile sizing question Jamadagni, Rajendra
- RE: datafile sizing question VIVEK_SHARMA
- Re: datafile sizing question Tim Gorman
