In Oracle 10g, disk sort reliability was also improved by using
temporary tablespace groups. In an article titled "Super-Sizing
A Database: Oracle 10g Tablespace Enhancements", author
Jim Czuprynski notes some common disk sorting problems:
http://www.databasejournal.com/features/oracle/article.php/3559291
"Temporary tablespaces can be the occasional bane of an
Oracle DBA's existence. Since they are primarily used as
sort work areas, when there are insufficient resources for
sorting a result set directly in memory, it is not uncommon
for a database to run out of space in a temporary tablespace
at the most inopportune moments.
Oracle also uses temporary tablespaces to create and store
an instance of each global temporary table (GTT) for each
user session that invokes any PL/SQL using GTTs."
Czuprynski concludes that Oracle temporary tablespace groups
help to limit (if not finally eliminate) out-of-space conditions
for sort work areas during large aggregation and sorting
operations.
Sorting enhancements in Oracle 10g release 2
This whitepaper titled "Sort Performance Improvements in
Oracle Database 10g Release 2", we see that in-memory
sorting (using the sort_area_size RAM PGA region) has
been improved:
http://www.oracle.com/technology/products/bi/db/10g/pdf/twp_general_sort_performance_10gr2_0605.pdf
"The improvements of the new sort implementation are
significant: improved sort-performance of up to 5 times has
been measured in lab conditions."
The paper also suggests that the new sorting helps with disk
sort speed, but this may be due to the in-memory sort being
faster before the sort spills out into the TEMP tablespace for a
disk sort. We also see that in-memory sorts are
CPU-intensive, and that faster processors will also improve
in-memory sort performance.
"The new sort algorithm also benefits from faster CPUs.
You will see more performance improvements on a system with
fast CPUs than you will on a system with slower CPUs."
To keep-up with research on the internals of the Oracle sorting
improvements, try running this Google search to find 10gr2
sorting articles:
"oracle10g"|"oracle 10g" r2|"release 2" sort|sorting
performance|improvements|improved