Also see these notes on
Oracle parallel features.
Oracle parallel query is very important as Oracle database move onto
SMP servers with 8, 16, 32 and 64 CPU processors. On these
servers, the speed of full-table scans and index fast-full scans can be
greatly improved:
Invoking Oracle Parallel query
There are several ways to invoke Oracle parallel query, and some of
them are very dangerous because they influence the costs assigned to
full-table scans.
- System-level parallelism - Up to 11g release 1, setting the
parallel automatic tuning parameter (In 11g
release 2 and beyond, the
parallel_degree_policy parameter) may cause the
cost-based optimizer to perceive full-table scans as cheaper.
System-level parallelism is best for data warehouse and DSS systems
and should be avoided for OLTP systems.
- Session-level parallelism - Using the alter session
force parallel query syntax.
- Object level parallelism - You can say "alter
table customer parallel degree 15", but beware, this influences
the SQL optimizer into thinking that full-scans are "cheaper" then
index access. I recommend invoking OPQ with hints, on a
statement-by-statement basis.
- SQL-level parallel query - This parallel hint is the
preferred method for invoking parallel query, selectively, based on
the operation:
select /*+
parallel (c, 31) (e, 31) */ . . . .