Each parallel execution
process takes its own slice of CPU, but more parallel processes can reduce the
total amount of time spent on disk I/O, which is the place in which bottlenecks can
most readily appear.
Two types of parallelism are possible within an Oracle database:
Block-range parallelism
Driven by ranges of database blocks
Partition-based parallelism
Driven by the number of partitions or subpartitions involved in the operation
The following sections describe these types of parallelism.
Block-Range Parallelism
In 1994, Oracle 7.1 introduced the ability to dynamically parallelize table scans and a
variety of scan-based functions. This parallelism was based on the notion of block
ranges, in which the Oracle server would understand that each table contained a set
of data blocks that spanned a defined range of data. Oracle7 implemented blockrange
parallelism by dynamically breaking a table into pieces, each of which was a
range of blocks, and then used multiple processes to work on these pieces in parallel.
Oracle??™s implementation of block-range parallelism was unique in that it didn??™t
require physically partitioned tables, described in Chapter 4, to achieve parallelism.
Pages:
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381