On 03/12/99 at 12:52:55 PM, Richard Monson-Haefel
<[EMAIL PROTECTED]> wrote:
Actually, no. That is part of the problem, a single SQL query, no matter
how
complex, only involves one cpu. That cpu can touch as many discs as
necessary, but the single cpu limits the speed. So this application
tries to
<BLATANT PITCH>
You should look into your DB software a little harder then and step up to a
real database... Ours of course! 8-)
DB2/400 for example supports a product called "DB2 Symmetric
Multiprocessing for OS/400" in which a single query CAN be split into many
parallel tasks inside the database to take advantage of your system.
Even on uni-processor systems you can get some advantage due to the balance
between I/O and processor.
Here's some snippets from a help screen:
- Change Query Attributes (CHGQRYA)
Specifies the parallel processing option and, optionally, the number of
tasks that can be used when running database queries and database file
keyed access path builds, rebuilds, and maintenance in the job.
The specified parallel processing option determines the types of
parallel processing allowed. There are two types of parallel
processing:
1. Input/Output (I/O) parallel processing
With I/O parallel processing, the database manager uses multiple tasks
for each query to do the I/O processing. The central processor unit
(CPU) processing is still done serially.
2. Symmetric Multiprocessing (SMP)
SMP assigns both the CPU and I/O processing to tasks that will run the
query in parallel. Actual CPU parallelism requires a system with
multiple processors. SMP parallelism can only be used if the system
feature, DB2 Symmetric Multiprocessing for OS/400, is installed.
Use of SMP parallelism can affect the order in which records are
returned. Applications which depend on records being returned from
database queries in arrival sequence or keyed access path sequence that
have not explicitly defined the ordering sequence in the query, should
not be run in jobs which have specified a parallel processing option
that enables SMP processing.
The initial value of the DEGREE attribute for a job is *SYSVAL.
The possible values are:
*SAME
The value does not change.
*NONE
No parallel processing is allowed for database query processing or
database file keyed access path build, rebuild, or maintenance.
*IO
Any number of tasks can be used when the database query optimizer
chooses to use I/O parallel processing for queries. SMP parallel
processing is not allowed.
*OPTIMIZE
The query optimizer can choose to use any number of tasks for either
I/O or SMP parallel processing to process the query or database file
keyed access path build, rebuild, or maintenance. SMP parallel
processing is used only if the system feature, DB2 Symmetric
Multiprocessing for OS/400, is installed. Use of parallel
processing and the number of tasks used is determined with respect
to the number of processors available in the system, this job's
share of the amount of active memory available in the pool in which
the job is run, and whether the expected elapsed time for the query
or database file keyed access path build or rebuild is limited by
CPU processing or I/O resources. The query optimizer chooses an
implementation that minimizes elapsed time based on the job's share
of the memory in the pool.
*MAX
The query optimizer chooses to use either I/O or SMP parallel
processing to process the query. SMP parallel processing will only
be used if the system feature, DB2 Symmetric Multiprocessing for
OS/400, is installed. The choices made by the query optimizer are
similar to those made for parameter value *OPTIMIZE except the
optimizer assumes that all active memory in the pool can be used to
process the query or database file keyed access path build, rebuild,
or maintenance.
</BLATANT PITCH>
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".